各大互联网公司前端面试题集锦

2021-05-30 09:29:56华夏高考网

1

有哪项方式可以对一个DOM设置它的CSS样式?

答案:外部样式表,引入一个外部css文件

内部样式表,将css代码放在标签内部

内联样式,将css样式直接定义在HTML元素内部

2

CSS都有哪些选择器?

答案:

派生选择器(用HTML标签申明)

id选择器(用DOM的ID申明)

类选择器(用一个样式类名申明)

属性选择器(用DOM的属性申明,属于CSS2,IE6不支持,不常用,不知道就算了)

除了前3种基本选择器,还有一些扩展选择器,包括

后代选择器(利用空格间隔,比如span.a{})

群组选择器(利用逗号间隔,比如p,span,#a{})

那么问题来了,CSS选择器的优先级是怎么样定义的?

基本原则:

一般而言,选择器越特殊,它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。

复杂的计算方法:

用1表示派生选择器的优先级

用10表示类选择器的优先级

用100标示ID选择器的优先级

span.test1.spanvar优先级1+10+10+1

span#xxx.songsli优先级1+100+10+1

#xxxli优先级100+1

那么问题来了,看下列代码,

标签内的文字是什么颜色的?

123

答案:red。与样式定义在文件中的先后顺序有关,即是后面的覆盖前面的,与在

中的先后关系无关。

3

CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?

答案:

最基本的:

设置display属性为none,或者设置visibility属性为hidden

技巧性:

设置宽高为0,设置透明度为0,设置z-index位置在-1000

4

超链接访问过后hover样式就不出现的问题是什么?如何解决?

答案:被点击访问过的超链接样式不在具有hover和active了,解决方法是改变CSS属性的排列顺序:L-V-H-A(link,visited,hover,active)

5

什么是CssHack?ie6,7,8的hack分别是什么?

答案:针对不同的浏览器写不同的CSScode的过程,就是CSShack。

示例如下:

#test{

width:300px;

height:300px;

background-color:blue;/*firefox*/

background-color:red\9;/*allie*/

background-color:yellow\0;/*ie8*/