HTML文件末尾的CSS
问题描述:
我想知道浏览器如何处理大多数(如果不是全部)HTML之后出现的CSS规则。由于新规则,它是否必须重新整理整个页面?还是使用其他类型的技术来处理这种类型的情况?谢谢。HTML文件末尾的CSS
答
重新布局和重绘,也许。 (也就是说,如果它已经开始渲染并且加载的样式需要不同的显示。)
Reparse,no。样式表纯粹是表现性的;它们不影响解析。
答
假设浏览器在看到附加CSS时已经开始渲染页面(这种行为有很多浏览器特定的触发器),并且假设新规则导致至少一个元素的CSS属性更改,浏览器将简单地将该元素标记为需要重绘的元素。
这会导致在下次浏览器重新绘制其部分窗口时显示页面的任何可见更改。
请务必记住,现代浏览器会异步执行所有这些操作,并安排应用新CSS等事件,重新计算布局和绘画大部分(但不完全)彼此独立。
答
有许多情况下,必须发生重绘,并且在页面生命周期中的许多事件中DOM被更改。
但是,一旦页面被解析,没有理由再次解析它,所有的改变都是在内存DOM中进行的。
这是说,你应该把CSS中的链接HEAD因为
- 它可以让浏览器开始他们的下载速度
- 它complies with HTML4 norm(“它可能只出现在一个HEAD部分文件”)
- 它lets the browser start the rendering sooner
- 它可以让你的同事和你的未来不是自己维护代码 时感到惊讶3210
“重新解析”?为什么它会重新分页? – 2013-02-18 12:31:36
http://en.wikipedia.org/wiki/Flash_of_unstyled_content – cimmanon 2013-02-18 12:42:37