我爱编程

JS相关概念

2017-07-07  本文已影响0人  saintkl

CSS和JS在网页中的放置顺序是怎样的?

  • CSS应该放在页面顶部的head标签中
    由于Render Tree是由DOM树和CSSOM树组合成的,html页面需要等到CSS解析完后才能完成渲染,所以CSS应放在head标签内,优先下载解析,以避免页面元素由于样式缺失造成瞬间的白页或者给用户闪烁感。

解释白屏和FOUC

当把CSS样式放在底部或者使用@import方式引入样式、或将JS放在头部造成其他内容阻塞加载时:
1.一些浏览器例如chrome,他的加载和渲染机制是等头部的JS和底部的CSS全部加载解析完后再渲染展示页面,而这个等待的时间就为白屏。
2.另一些浏览器例如Firefox,他会在CSS未加载前先展现页面,等css加载后再重绘一次,这就造成了FOUC (无样式内容闪烁)。
*所以为了避免这些问题,最好使用link标签将CSS样式表放在文档的head中,将JS放置在</body>标签之前、body标签中html内容的后面。

async和defer的作用是什么?有什么区别

  • script :浏览器会立加载并执行相应脚本,阻塞后续文档的加载。

简述网页的渲染机制

1.解析CSS构建CSSOM树
2.把DOM和CSSOM组合成渲染树(Render Tree)
3.在渲染树的基础上进行布局,计算每个节点的几何结构(Layout Tree)
4.把每个节点绘制到屏幕上(Painting)


上一篇 下一篇

猜你喜欢

热点阅读