Flex box弹性布局
Flex box是CSS3新添加的一种模型属性,它的出现有力的打破了我们常常使用的浮动布局、实现垂直等高、水平均分、按比例划分,可以实现许多我们之前做不到的自适应布局。如果你希望网站能以webapp的外观呈现在手机用户面前,那么,Flex box就是个不错的方式。Flex box和APP的结构很类似,头部底部全部固定,而中间部分的高度实现自适应。
应用于父元素上:
1、display:flex/inline-flex
2、flex-wrap:nowrap/wrap/column/column-reverse 是否换行
3、flex-direction:row/row-reverse/column/column-reverse 横着还是竖着显示
4、flex-flow:flex-direction|flex-wrap 复合元素
5、justify-comtent:flex-start/flex-end/center/space-between/space-around 水平方向对齐方式
6、align-items:flex-start/flex-end/center/baseline/stretch 纵轴对齐方式
7、align-content:flex-start/flex-end/center/space-between/space-around/stretch 在换行情况下,纵轴对齐方式
应用于子元素上
1、order:<integer>用数据值来定义排列顺序,数值越小的排在前面(可以为负值)
2、flex-grow:<number>(default 0)设置uo检索弹性盒的扩展比率(不允许负值)
3、flex-shrink:<number>(default 1)收缩比例(超出最大范围)
4、flex-basis:<length>|auto(default auto)(不允许负值)
<percentage>用百分比来定义宽度(不允许负值)
5、flex:none|flex-grow||flex-shrink||flex-basis 复合属性
6、align-self:auto|flex-start|flex-end|center|baseline|stretch 检索自身在侧纵轴方向上的对齐方式
注意注意:在设置弹性盒子的时候css不起作用的属性:
1、float、clear、vertial-align
优化 响应式前端设计的优化。主要针对用户体验的改进。
(1)减轻Javascript库负载
对于移动端来说,jQuery表现的太过厚重,而现在针对移动端的状态来说,有jQuery Mobile、YUI、XUI等可供选择的框架。
(2)减少HTTP请求次数
移动端相比较PC端有一个特殊的限制需要考虑到,就是用户的网络流量是有限的。这时候针对这些页面内部的部分操作,可以使用Ajax异步请求来完成,针对短期内不会变化的一些数据,可以使用服务器端缓存、前端缓存等机制来保存这些数据,这样可以减少用户一定的数据请求量。
(3)Javascript和CSS需要尽量压缩
把页面中使用的Javascript和CSS进行压缩之后会有效地减少页面大小。
(4)用CDN管理页面资源
CDN的即内容分发网络,意在尽可能避开互联网上有可能影响数据传输速度和稳定性的环节,使内容传输的更稳定。
(5)列表图片实现“懒”加载
移动终端设备因为屏幕大小有限,没有必要将全屏中的图片一次性加载完成,网页加载的同时,我们可以选择逐个加载,当用户进行滑动页面的时候,再继续加载图片。
(6)图片显示的优化处理
根据用户设备的分辨率来加载不同分辨率下的不同图片,这样既能给不同终端的用户一个很好的视觉体验,又不会白白浪费用户的网络数据流量。