css面试题

65 阅读2分钟

1.padding和margin有什么不同

作用对象不同

2.vw与百分比

%有继承关系,vw只和设备的宽度有关

3.行内与块级元素

行内不能设置宽高,随内容改变,块级元素默认继承父类

4.如何让谷歌浏览器支持小字体

transfrom:scale()//缩放

5.css选择器的优先级

内联样式>内部样式>外部样式

id>class>标签

6.隐藏元素的方法

display:none 会发生回流重绘
visibility:hidden 只发生重绘
opacity:0
position:absolute
z-index:负值
transform:scale(0,0)

7.link和@import的区别

两者都是外部引入css,link在页面载入时同时加载,@import需要页面完全加载后在加载

8.transition和animation的区别

transition是过度属性,需要事件触发

animation是动画属性,它的实现不需要触发事件

9.为什么有时候⽤translate来改变位置⽽不是定位?

transfrom不会触发浏览器的重新布局或者重绘,而绝对定位会改变重新布局和重绘

10.盒子模型

  • 标准盒模型的width和height属性的范围只包含了content,
  • IE盒模型的width和height属性的范围包含了border、padding和content。

11. CSS3中有哪些新特性

  • 新增各种CSS选择器 (: not(.input):所有 class 不是“input”的节点)
  • 圆角 (border-radius:8px)
  • 多列布局 (multi-column layout)
  • 阴影和反射 (Shadoweflect)
  • 文字特效 (text-shadow)
  • 文字渲染 (Text-decoration)
  • 线性渐变 (gradient)
  • 旋转 (transform)
  • 增加了旋转,缩放,定位,倾斜,动画,多背景

12.文本溢出隐藏

overflow:hidden; // 溢出隐藏
text-overflow:ellipsis; // 溢出用省略号显示
white-space:nowrap; // 规定段落中的文本不进行换行

13.line-height

line-height:指一行文本的高度,包括了字间距,实际上是下一行基线到上一行基线距离

14.z-index属性在什么情况下会失效

1.父元素position为relative时,子元素的z-index失效。

解决:父元素position改为absolute或static;

2.元素没有设置position属性为非static属性。

解决:设置该元素的position属性为relative,absolute或是fixed中的一种;

3.元素在设置z-index的同时还设置了float浮动。

解决:float去除,改为display:inline-block;

15.margin重叠问题

折叠合并后外边距的计算原则:

1.两正,取最大

2.一正一负,正减abs(负)

3.两负,0-max(abs(负))

16.absolute和fixed

共同点:将display设置为inline-block

脱离文档流

覆盖非定位文档元素
不同点:absolute与fixed的根元素不同,absolute可以设置跟元素,fixed根元素是浏览器

在有滚动条的页面中,absolute会跟着父元素进行移动,fixed固定具体位置

17.sticky

当页面滚动超出目标区域时,表现成fixed;剩余时候表现成relative

18.下三角形

div {    
  width: 0;    
  height: 0;    
  border-top: 50px solid red;    
  border-right: 50px solid transparent;    
  border-left: 50px solid transparent;
}