美文网首页
浏览器的渲染

浏览器的渲染

作者: 羌生 | 来源:发表于2017-12-04 23:49 被阅读0次

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

js理论上可以在html的任何地方链入或放置,为了更好的呈现页面效果,提升体验,css应被放入到HTML的<head></head>标签里,js应放在<body>的底部,</body>之前。

二,解释白屏和FOUC

  1. 白屏:

1.1 如果把样式放在底部,对于一些浏览器,在某些场景下(新窗口打开,刷新等)页面会出现白屏,而不是内容逐步展现,这是因为我们访问网页所呈现的是结合解析HTML标签自上而下构造的DOM树与解析CSS后的CSSOM树结合在一起组成渲染树所布局和绘制的,如果一个网页的HTML文本内容很多,这样把样式放在body底部,会造成页面生产渲染树的延迟,所以形成了白屏,这种情况下的白屏不是一个bug,而是浏览器的渲染机制。
1.2 如果使用 @import 标签,即使 CSS 放入 link, 并且放在头部,也可能出现白屏,这是因为@import 标签不会被立即执行,所以也出现了白屏的现象。

  1. FOUC

2.1 Firefox 有所不同,如果把样式放在底部,Firefox会出现FOUC(无样式内容闪烁),这是也是因为浏览器的渲染机制,它的渲染机制是先自上而下解析HTML标签构造DOM树并呈现出来,然后解析CSS,最后才会呈现样式,期间会逐步加载无样式内容;

三,sync和defer的作用是什么?有什么区别?

  1. 默认引用script:
              <script type="text/javascript" src="javascript.js"></script>
    

当浏览器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档。

  1. async模式 :
         <script type="text/javascript" src="javascript.js" async="async"></script>
    

当浏览器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,脚本下载完成后开始执行脚本,脚本执行的过程中文档将停止解析,直到脚本执行完毕。

  1. defer模式:
        <script type="text/javascript" src="javascript.js" async="async"></script>
    

当浏览器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,待到文档解析完成,脚本才会执行。

四,简述网页的渲染机制

  • 解析 HTML 标签, 构建 DOM 树
  • 解析 CSS 标签, 构建 CSSOM 树
  • 把 DOM 和 CSSOM 组合成 渲染树 (render tree)
  • 在渲染树的基础上进行布局, 计算每个节点的几何结构
  • 把每个节点绘制到屏幕上 (painting)

相关文章

  • 2017前端面试题之综合篇(1)

    1 . 浏览器如何渲染? 浏览器的渲染原理简介 专题:浏览器:渲染重绘、重排两三事 浏览器加载和渲染HTML的顺序...

  • 略知一二之浏览器渲染原理

    浏览器渲染原理 推荐相关阅读文章 浏览器页面渲染机制,你真的弄懂了吗? 关键渲染路径 深入浅出浏览器渲染原理 [译...

  • 小皆学前端—主流浏览器的内核浅析

    浏览器内核,包括浏览器渲染引擎和JS解析引擎。负责对网页的语法进行解释并渲染(渲染再我另外一篇文章浏览器的渲染原理...

  • css知识总结

    一、浏览器渲染原理 要了解浏览器渲染页面的过程,首先得知道一个名词——关键渲染路径。关键渲染路径是指浏览器从最初接...

  • 浏览器渲染原理与过程

    浏览器如何渲染网页 要了解浏览器渲染页面的过程,首先得知道一个名词——关键渲染路径。关键渲染路径是指浏览器从最初接...

  • 浏览器渲染原理与过程【转】

    浏览器如何渲染网页 要了解浏览器渲染页面的过程,首先得知道一个名词——关键渲染路径。关键渲染路径是指浏览器从最初接...

  • 浏览器渲染浅析

    1.浏览器渲染主要流程 不同的浏览器内核不同,所以不同浏览器的渲染过程也不太一样。这里我们看下WebKit 的渲染...

  • 前端性能优化-渲染优化

    一、浏览器渲染原理和关键渲染路径 浏览器渲染原理:读取html,css文本,构建DOM树。(DOM ,CSSOM)...

  • 浏览器渲染机制

    参考链接:浏览器渲染的那些事(一)浏览器内部工作原理浏览器的渲染原理简介有关网页渲染,每个前端开发者都该知道的那点...

  • 前端工程师必备:从浏览器的渲染到性能优化

    浏览器渲染 1.浏览器渲染图解 [来自google开发者文档] 浏览器渲染页面主要经历了下面的步骤: 1.处理 H...

网友评论

      本文标题:浏览器的渲染

      本文链接:https://www.haomeiwen.com/subject/xroxixtx.html