1.script标签为什么放在body的底部
因为浏览器在渲染的时候,是从上到下依次执行,遇到js文件就会停止当前的渲染,转而去下载js文件,如果放在头部并且文件很大,首屏时间就会延长,影响用户的体验。解决办法
1.将script标签放在body尾部
2.通过defer/async属性将js文件转为异步下载
defer/async的区别是:首先都是让js文件能够异步加载,不阻塞页面的渲染。但是defer必须等待整个文档渲染完成后才能执行,而async在下载完成后,会暂停html的解析,转去执行js,就是说也可能会阻塞html的解析
2.src和herf的区别
herf是超文本引用,它指向资源的位置。
src是把资源下载到页面中浏览器解析。
herf不会阻塞对文档的处理,src会阻塞对文档的处理。
3.DOCTYPE 标签
这个声明的目的是防止浏览器在渲染文档时,切换到我们称为“怪异模式(兼容模式)”的渲染模式。确保浏览器按照最佳的相关规范进行渲染,而不是使用一个不符合规范的渲染模式。
Doctype声明于文档的最前面,告诉浏览器以何种方式来渲染页面,这里有两种方式:严格模式和混杂模式。
4.h5是什么?
就是一种移动端页面,微信上的一种移动营销页面
5.行内元素有哪些?块级元素有哪些?空(void)元素有哪些?
常用的块状元素: <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
常用的内联元素有:<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的内联块状元素: <img>、<input>
知名的空元素:<br/> <hr/> <img/> <input/> <link/> <meta/> <br />