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*/