面试题_html和CSS相关

109 阅读2分钟

常见浏览器内核:

- IE:(IE内核,Trident)
- 谷歌:blink
- 苹果(Safari):Webkit
- 火狐:Gecko

盒子模型

标准盒模型:width + margin + border + padding  盒子宽度指这些相加
怪异盒模型: width+padding+border被视为content之内即设置的宽度
box-sizingcontent-box //标准盒模型 
box-sizingborder-box //怪异盒模型

浏览器解析的时候,行内块之间出现空白原因?如何消除?

- 原因:浏览器会将空白字符(空格,tab,换行)解析成一个空格导致的;
- 解决办法:
    - 给父元素设font-size:0,子元素设font-size;
    - 把行内块变成块级,用display:flex;

margin-top的穿透问题:

原因:内部元素是块,给该元素设置margin-top的时候,会穿透父元素(相当于将margin-top作用到父元素身上)

解决办法(3种):
    1.将子元素的margin-top由父元素的padding-top替代;
    2.给父元素设置边框;
    3.给父元素添加overflow:hidden;

清除浮动的方法:

- 定高法:将高度写死(适用于高度不变的地方)
- 给父元素添加overflow:hidden;溢出隐藏
- 额外标签法:给浮动元素的最后添加一个块元素,给块元素添加样式clear:both;
- 伪元素法: .clearfix:after{content:'';display:block;clear:both;visibility:hidden;height:0;}
- 双伪元素法:.clearfix:after,.clearfix:before{content:'';display:table;} .clearfix:after{clear:both;}

display:none和visibility:hidden的区别:

display:none 隐藏不占位置
visibility:hidden 隐藏占位置

水平垂直居中的几种方法:

flex布局方法

display: flex; 
justify-content: center;
align-items: center;

网格居中法

display:grid;
margin:auto;

行内块居中

display:inline-block;
line-height:xxx;
text-align:center;

块级居中

display:block;
margin:auto;

html5的优点

有利于SEO,搜索引擎根据标签来确定上下文和各个关键字的权重。 
方便其他设备解析,如盲人阅读器根据语义渲染网页 
有利于用户阅读,开发和维护,语义化更具可读性,代码更好维护