前端面试硬核之复述性问题集合(CSS)

1.说一下css盒模型

在这里插入图片描述

2.画一条0.5px的线

<meta name="viewport" content="width=device-width, initial-scale=0.5, minimum-scale=0.5, maximum-scale=0.5"/>

或者border-image,transform:scale()方式

3.link标签和import标签的区别

link属于html标签,import则是由css提供
页面被加载时,link会同时被加载,而import引用的css会等到页面加载结束时加载
link是html标签,因此没有兼容性,而import在ie5以上才能识别
link方式样式的权重高于import

4.js动画和css3动画的差异

功能涵盖面:js比css大
css比js更加简单,性能跳优方向固定
对帧速表现不好的低版本浏览器,css3可以做到自然降级
css动画有天然事件支持
css3有兼容性问题

5.说一下块级元素和行级元素

块元素:独占一行,并且有自动填满父元素,可以设置margin和padding以及width height。
行元素:不会独占一行,width,height失效,并且在垂直方向的padding和margin会失效。

6.双边距重叠问题

多个相邻普通流的块元素锤石方向margin会重叠
折叠结果:
两个相邻的外边距都是正数时,折叠结果是它们两者之间较大的值
两个相邻的外边距都是负数时,折叠结果是它们两者之间绝对值较大的值
有正有负时,折叠结果是两者的相加的和

7.浮动清除

方法1:使用带clear属性的空元素,或者邻接元素处理
在浮动元素后使用一个空元素如<div class="clear"></div>,并设置其css,.clear{clear:both;}即可清理浮动。
方法2:使用css的overflow属性
给浮动元素的容器添加overflow:hidden;或者overflow:auto;可以清除浮动.
方法3:伪元素处理
给浮动元素的容器添加一个clearfix的class,然后给这个class添加一个:afer伪元素实现元素末尾添加一个看不见的块元素清理浮动。

8.css的选择器

id选择器,class选择器,标签选择器,伪元素选择器,伪类选择器

在这里插入图片描述
带有!important标记的样式属性优先级最高
在这里插入图片描述

9.如何让一个元素消失

三种方式:

display:none;
visibility:hidden;
opacity:0;

10.重绘和重排

DOM的变化影响到了预算的几何属性如宽高,浏览器重新计算元素的几何属性,其他元素的几何属性也会受到影响,浏览器需要重新构造渲染书,这个过程称之为重排,浏览器将受到影响的部分重新绘制在屏幕上的过程称为重绘,
引起重排重绘的原因:
添加或者删除可见的DOM元素
元素尺寸位置的改变
浏览器页面初始化
浏览器窗口大小发生改变,重排一定导致重绘,重绘不一定导致重排
减少重绘重排的方法:
不在布局信息改变时做DOM查询
使用csstext,className一次性改变属性
使用fragment
对于多次重排的元素,比如动画,使用绝对定位脱离文档流,使其不影响其他元素

发布了158 篇原创文章 · 获赞 44 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_43277404/article/details/104268380