css3之响应式布局与性能优化
在网页的布局中有以中布局方式是非常常用的,那就是响应式布局。尤其在bootstrap中,就采用的是响应式布局方式。那么响应式布局是怎样实现的呢,那就是采用了媒体查询。其作用就是给不同的设备设置不同的样式,以便于给出最优化的视觉效果。在下面给出了媒体查询引入的三种方式:
对于媒体查询引入的三种方式
第一种通过link标签的形式去引入,media中前面的screen是指的媒体类型 后面的max-width是指的媒体特性:width 和 device-width(设备宽度)
<link rel = "stylesheet" media = "screen and (max-width: 800px)" href = "index.css">
第二种引入方式
<style>
@media (max-width: 800px){
..样式的内容...
}
</style>
第三种引入方式
@media screen and (max-width : 800px) and (min-width: 600px){
}
常见使用的几种媒体类型 all 所有设备 screen 彩色电脑屏幕 print 文档打印或者打印预览模式
逻辑运算符 在媒体查询中没有或者连接符,这是采用“,”来表示即可
下面给出一个简单的例子,首先我们在我们的html的结构中引入一个div标签,然后再在style中引入下面的代码实例:
最后将其在页面上运行就能看到对应的效果,在最初学习css3与h5之前写过一个关于响应式布局的的页面,由于在最初学习的时候对于页面布局等不是很熟,所有存在一定的缺陷,如果需要看这个响应式布局请去git上下载。具体地址如下:https://github.com/whocareit/web-study/tree/79f606bda29864252cc27ba4244b3784cb98f536
2.性能优化,在页面的性能优化方面首先就是要明白浏览器的渲染原理,然后才来弄清楚如何提高页面的性能。
浏览器渲染原理
1.首先生成一个DOM树,2.生成css树 3.生成一个render树 4.对render树进行布局计算 5.将render树上的内容渲染在屏幕上
回流:当render树中的因为元素尺寸,样式的改变等影响需要对页面重新进行构建时这种情况就叫做回流
重绘 当页面中因为样式的外观等不影响布局的样式产生
重构 页面中的结构发生改变时,就会对页面进行重新的布局
重绘和重排会影响性能 在审查元素的performancez中重新刷新时就能够看到各个部分加载时所需要的时间,这个时候会生成一个饼状图其中
蓝色: 网络通信和HTML解析
黄色: js加载
紫色: 样式布局和计算即重排
绿色: 重绘
触发重排重汇的方法
offsetLeft offsetTop scroolTop currentStyle等
提高页面性能的办法:就是尽量的降低重排和重绘的成本,尽量少触发重新渲染