小白一枚,欢迎指正与补充!!!
DOCTYPE的作用是什么
DOCTYPE文档类型说明标签,主要作用是告诉浏览器的解析器使用哪种HTML规范或者XHTML规范来解析页面。
严格模式和混杂模式
在W3C标准出来之前,不同的浏览器对页面的渲染有不同的标准,使用一种比较宽松的向后兼容的方式来显示页面。
严格模式又称标准模式,是指浏览器按照W3C标准来解析代码,呈现页面。
HTML和XHTML的区别
1.XHTML中所有的标签必须闭合。 2.XHTML中所有的标签必须小写。 3.XHTML中元素必须被正确的嵌套。
块级元素
1.独占一行 2.高度、宽度、内边距和外边距都可以控制 3.宽度默认是容器的100% 4.相当于一个盒子,里面可以放行内元素和块级元素(P,li,div,ul)
行内元素
1.相邻行内元素在一行上 2.宽度只与内容有关 3.高度和宽度直接设置是无效的 4.高度、高度、内边距和外边距都可以控制。
行内块元素
1.相邻行内块元素在一行上,但是中间会有空白缝隙 2.默认宽度就是内容的宽度 3.高度、宽度、内边距和外边距都可以改变。
link和@import的区别
1.link是页面加载时同时执行的 2.@import时页面加载之后才执行的 3.link的权重比@import的高
对于浏览器的理解
浏览器就是安装在电脑的一个软件,他的作用就是将网页渲染出来给用户查看,并能够让用户与网站之间进行交互。
浏览器内核
浏览器内核分为渲染引擎和JS引擎。 渲染引擎主要负责解析HTML和CSS,将页面渲染出来。 JS引擎主要负责解析和执行JS,实现页面的动态交互。
常见的浏览器内核
1.WebKit: Chrome、Safari 2.Trident: IE、360、百度 3.Geoko: 火狐fire
浏览器渲染原理
1.构建DOM树 2.构建CSS DOM树 3.构建渲染树(render树) 4.布局 5.绘制
什么是重绘和回流
1.不影响页面布局的操作称为重绘(color、background-color) 2.会影响页面布局的操作称为回流(width、height、padding、margin)
渲染过程中遇到JS文件怎么处理
JavaScript的加载、解析和执行会阻塞DOM树的构建,所以在构建DOM树的时候,如果碰到JavaScript文件,它会暂停构建DOM树,然后将控制权转交给JS引擎,等JavaScript解析完之后,再回去构建DOM树。
script、script async、script defer的区别
1.script的话就是按照顺序加载和执行JavaScript,JavaScript的加载会阻塞HTML的解析。 2.有async就是并行加载和执行,谁先加载完成谁先执行 3.有defer就是并行加载,等HTML解析完之后才执行,按照顺序执行。
CSS不会阻塞DOM树解析
DOM解析和CSS解析是并行的,所以CSS加载不会阻塞DOM树解析
CSS会阻塞DOM渲染
由于渲染树是依赖于DOM树和CSS DOM树的,必须等到CSS加载完成后才能开始渲染,所以CSS加载会阻塞DOM渲染的。
CSS如何阻塞文档解析
JavaScript执行时可能会请求样式信息,如果样式还没有加载和执行,脚本会得到错误的信息,这样会导致很多问题,所以浏览器会延迟JavaScript的执行,直至CSS DOM树构建。
渲染页面时常见的不良反应
1.样式闪烁问题
在CSS加载之前,先呈现了HTML,就会导致展示无样式内容,然后样式突然出现的现象。主要原因是CSS加载过长,或者CSS放在文档底部。
2.白屏问题
由于浏览器的渲染机制,要先构建DOM树和CSS DOM树,构建完成之后再进行渲染。但是如果由于CSS未加载完成,浏览器迟迟没有渲染的话,就会导致白屏问题。
为什么避免操作DOM
因为操作DOM可能会引起页面的重绘和回流。
load事件
load事件是所有资源加载完成之后才执行的。
HTML5的新特性
1.语义化标签 2.音频视频 3.画布canvas 4.input增强型表单 5.本地存储localStorage和会话储存sessionStorage 6.新技术websoket和webwoker
对HTML5语义化标签的理解
1.正常的标签做正确的事 2.使得代码结构更加清晰,更容易维护,更容易阅读 3.有利于搜索引擎搜索
cookie、localStorage和sessionStorage的区别
cookie不可以跨域
cookie无法设置除当前域名或者其父域名之外的其他domain
如何实现浏览器多标签页之间的通信
因为cookie和localStorage在所有同源窗口数据共享,所以可以调用localStorage、cookie实现浏览器多标签页之间的通信。
title和和h1的区别
title是给搜索引擎看的 h1是给用户看的
img的title和alt的区别
title是提示文本 alt是替换文本