1. DOCTYPE(文档类型) 的作用:
DOCTYPE是HTML5中的文档类型声明,它必须声明在HTML⽂档的第⼀⾏,它的目的是告诉浏览器(解析器)应该以什么样(html或xhtml)的文档类型来定义和解析文档。
拓展 : !doctype html 的作用就是让浏览器进入标准页面渲染模式,使用W3C的标准解析渲染页面,浏览器以其支持的最高标准呈现页面;如果不写,浏览器就会进入怪异页面渲染模式,浏览器使用自己的怪异模式解析渲染页面,页面以一种比较宽松的向后兼容的方式显示,我们需要避免此类情况发生。
2. 行内元素有哪些?块级元素有哪些? 空元素有那些?
- 行内元素:
a b span img input select strong; - 块级元素:
div ul ol li dl dt dd h1 h2 h3 h4 h5 h6 p; - 空元素有:
<br>、<hr>、<img>、<input>、<link>、<meta>;
3. src和href有什么区别 ?
相同点:他们都是用来进行外部资源的引入的;
src属性用在img标签引入图片,script标签引入js;他们的外部资源引入都会替换掉自身,并且他们的解析会暂停其他资源处理和下载,所以js资源一般会放在页面底部;
href属性常用在link标签用来引入css,和a标签用来指定超链接;他们的外部资源引入不会替换掉自身,并且他们的解析和其它资源的处理和下载是同步进行的。
4. html5有哪些新的特性?
1,语义化的标签(header 头,footer 脚,nav 导航,article 文章内容,aside 侧边)
2,多媒体的支持(video,audo)
3,canvas(画布)、Geolocation(地理定位)、websocket(通信协议)
4,离线缓存
5,数据存储:localStorage、sessionStorage
6,css3的圆角,阴影,渐变,动画,flex布局....
7、表单新增了很多表单控件(日期,数字,邮箱,颜色,滑块,。。。)
8、拖拽api:draggable = true
9、history api (go、forward、back、pushstate)现在常见的单页面应用就是利用html5新增的hisotry api 实现
5. 浏览器的标准模式和怪异模式下有什么区别 ?
标准模式和怪异模式的由来:
在HTML和CSS标准为完成之前,各个浏览对于html和css的解析都有各自不同的解析方式,而很多旧版本的网页都是按照这些非标准的模式去实现的页面,在HTMl和CSS标准定义完成后,浏览器开始按照w3c规定标准来解析页面,另一方面又得保证之前的页面能够正常显示,因此浏览器都会有两种渲染模式:标准模式和怪异模式,在标准模式下,浏览器按照w3c提供的标准解析和渲染页面,在怪异模式下,浏览按照非标准的方式对文档进行解析渲染,
浏览会更具html doctype来确定使用哪种模式来执行页面的渲染
6. 标准模式和怪异模式下常见的区别 ?
1,盒子模型:在标准模式下IE盒模型(content(宽高) + 填充padding + 边框border + 边距margin),怪异模式下(content + maring)而content区域包括了(content,padding,border)
而在css3中可以通过 box-sizing来控制盒模型content-box, padding-box, border-box
2,行内元素的高度:标准模式下不生效,怪异模式下会生效
3,margin: 在标准模式下margin: 0 auto; 会水平居中,怪异模式下不会
7. 常见的布局方式有哪些 ?
- flex布局(也称弹性布局):主要用来作移动页面适配不同的屏幕大小,让浏览自动划分区域
- grid布局: 类似flex布局,但是grid是利用行和列将一个盒子划分成一个二维的区域,也有点类似与栅格系统,利用grid可以实现flex能够实现的一切
- 流式布局(也称百分比布局):利用百分比和浮动划分区域大小和布局展示,超出的部分自动换行显示
- 响应式布局:利用html5的媒体查询功能,更具屏幕不同的宽度来指定不同的样式,从而到达一个网站多个设备完美显示
- 多栏布局(栅格系统):利用百分比+浮动的方式进行页面划分,通常一些ui组件库都会提供栅格系统
三栏布局,双飞翼布局,圣杯布局,左+中+右的布局方式,左边右边固定宽度中间自适应
8. 如何让一个元素垂直水平都居中 ?
1,flex:给父元素添加display:block; 给子元素添加margin:auto;
2,flex:给父元素添加display:flex; justify-content: center;
align-items:center
3,定位:子元素是固定宽高(position:absolute,top:0,; left:0; right:0; bottom:0;)
4,定位:子元素position:absolute; top: 50%; left:50%; transform: translate(-50%, -50%);
5,将父元素转换成display: table-cell;
8、在css中那些样式是可以继承的?
大部分可以继承的样式都是文字样式,行高,颜色,大小,字体,....