flex弹性盒布
1、给父容器添加display-flex或者inlineflex;属性
2、父容器可以使用的属性值
①flex-direction;属性决定主轴的方向(即项目的排列方向)。
row 水平从左往右| row-reverse 水平从右往左| column从上往下 | column-reverse;从下往上
②flex-wrap,如果一条轴线排不下,如何换行。
nowrap(默认):不换行,每个item会被挤压 wrap:换行,第一行在父容器最上方 wrap-reverse:换行,第一行在父容器最下方
③flex-flow;是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
④justify-content;属性定义了项目在主轴上的对齐方式。
flex-start(默认值):左对齐
flex-end:右对齐
center: 居中
space-between:两端对齐、项目之间的间隔相等
space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
⑤align-items; flex-start:交叉轴的起点对齐。
flex-end:交叉轴的终点对齐。
center:交叉轴的中点对齐。
baseline: 项目的第一行文字的基线对齐。(行高、字体大小会影响基线)
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
⑥align-content:属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
子容器上使用的属性
①order ;属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。
②flex-grow 属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
③flex-shrink 属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
④flex-basis 属性定义项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
⑤flex 属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。
⑥align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于 stretch。
定义单个item在交叉轴上的对齐方式,可以覆盖父容器的align-item的属性
移动开发常用技巧
[了解 像素基础知识]
① 设备物理像素:设备上一个像素点
② 设备无关像素:可以与物理像素通过dpr转换。(当dpr为1时,设备无关像素=设备物理像素)
③ CSS像素:CSS中使用的抽象概念。当页面没有缩放时,CSS像素=设备无关像素。
设备像素比dpr = 物理像素/设备无关像素
-->
<!--[重点 viewport]
设置布局viewport的各种信息:
width=device-width:布局viewport宽度等于设备宽度
initial-scale=1.0:默认缩放比为1(目的:让CSS像素=设备无关像素)
maximum-scale=1:最大缩放比为1
minimum-scale=1:最小缩放比为1
user-scalable=no:用户禁止缩放(iOS10中的sarifi浏览器失效)
-->
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1,user-scalable=no"/>
<!--
禁止设备将疑似手机号/邮箱,进行识别。取消点击拨打电话等事件
-->
<meta name="format-detection"content="telephone=no,email=no"/>
<!--
iOS 添加到主屏幕时,WebAPP的标题
-->
<meta name="apple-mobile-web-app-title" content="我的第一个WebAPP">
<!--
iOS 添加到主屏幕时,WebAPP的icon图标
-->
<link rel="apple-touch-icon-precomposed" href="http://st.360buyimg.com/m/images/apple-touch-icon.png?v=jd201703162005" />
<!--
iOS 添加到主屏幕时,启用WebAPP全屏模式,删除顶端地址栏和底部工具栏
-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<!--
iOS 添加到主屏幕时,WebAPP顶部状态的样式
可选值:
black:黑色
default:默认白色
black-translucent(半透明):网页内容充满整个屏幕,顶部状态栏会遮挡网页头部。
-->
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<!--
设置浏览器,时候最新的IE和chrome去编译
>>> 不是手机端专用,PC网页一般也需要设置
-->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<!-- 其他几个meta标签,了解即可
① 设置浏览器过期时间,-1表示时刻过期,及每次刷新都要请求最新数据
② 是否设置浏览器缓存,否
③ 是否从本机读取缓存文件,否
-->
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<style type="text/css">
*{
margin: 0px;
padding: 0px;
/* 【手机端样式选择】
* 1、一般手机均不支持微软雅黑,中文字体无需设置,使用手机默认即可;
* 2、英文字体,一般选择font-family:Helvetica;
*/
font-family:"宋体",Helvetica,sans-serif;
/* 禁止选中文本(如无文本选中需求,此为必选项)
* 1、手机端禁止长按选中;
* 2、电脑端禁止鼠标选择;
*/
-webkit-user-select: none;
-moz-user-select: none;
/* 去除表单默认外观
* 手机、电脑均可使用;
*/
-webkit-appearance:none;
-moz-appearance: none;
appearance: none;
}
/* 禁止长按链接与图片弹出菜单 */
a, img {
-webkit-touch-callout: none;
}
/* 修改input的placeholder默认样式
* 修改input获得焦点时placeholder样式
*/