1.浏览器是怎么渲染页面的?
解析 HTML 文件,创建 DOM 树
自上而下,遇到任何样式(link、style)与脚本(script)都会阻塞(外部样式不阻塞后续外部脚本的加载)。
解析 CSS
优先级:浏览器默认设置
<用户设置
<外部样式
<内联样式
<HTML中的style样式
;
构建渲染树
将 CSS 与 DOM 合并,构建渲染树(Render Tree)
布局和绘制
布局和绘制,重绘(repaint)和重排(reflow)
2.HTML和XHTML有什么区别?
- 1. 所有的标记都必须要有一个相应的结束标记
- 2. 所有标签的元素和属性的名字都必须使用小写
- 3. 所有的 XML 标记都必须合理嵌套
- 4. 所有的属性必须用引号 "" 括起来
- 5. 把所有 < 和 & 特殊符号用编码表示
- 6. 给所有属性赋一个值
- 7. 不要在注释内容中使用 “–”
- 8. 图片必须有说明文字
3.对浏览器内核的理解?
主要分成两部分:
- 渲染引擎 。
- JS 引擎。
渲染引擎
负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。
JS 引擎
解析和执行 javascript 来实现网页的动态效果。
4.对 WEB 标准以及 W3C 的理解与认识?
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链 css 和 js 脚本、
结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、
更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;
5.如何写出高性能的HTML?
6.CSS 和 JS 的引用放在 HTML 的哪里
把<link>
放在中
把<link>
标签放在<head></head>
之间是规范要求的内容。
此外,这种做法可以让页面逐步呈现,提高了用户体验。
这种做法可以防止呈现给用户空白的页面或没有样式的内容。
把<script>
标签恰好放在之前
脚本在下载和执行期间会阻止 HTML 解析。把<script>
标签放在底部,保证 HTML 首先完成解析,将页面尽早呈现给用户。
7.Doctype作⽤? 严格模式与混杂模式如何区分?它们有何意义?
<!DOCTYPE>
声明位于⽂档中的最前⾯,处于<html>
标签之前。告知浏览器的解析器, ⽤什么⽂档类型 规范来解析这个⽂档- 严格模式:
- 浏览器按照W3C标准(或其他相关标准)来解析和渲染网页。
- 网页的布局和样式更加符合标准规范,减少浏览器间的差异
- 在混杂模式中,⻚⾯以宽松的向后兼容的⽅式显示。