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样式 */