参考自知乎:https://zhuanlan.zhihu.com/p/43282197

问题描述

HTML三大组成:html、js、css。

由此,提出问题:这三者之间是什么关系?是否会相互产生出乎预期的影响?

合作关系

网页主要有三部分组成,结构(HTML)、表现(CSS)、行为(Javascript)。

html是主体,装载各种dom元素;css用来装饰dom元素;javascript控制dom元素。

相互影响

  • js执行会阻塞DOM树的解析和渲染吗?
    会。
  • css加载会阻塞DOM树的解析和渲染吗?
    css加载不会阻塞DOM树的解析、css加载会阻塞DOM树的渲染。
  • css加载会阻塞后面的js执行吗?
    会。
  • css加载可以间接阻塞DOM树的解析吗?
    可以。因为css会阻塞js执行,而js执行又可以阻塞DOM树的解析。

典型案例

  • js中存在ajax同步调用,执行时间太长
  • css文件太大,网络请求时间太长

标签: none