1
有哪項(xiàng)方式可以對(duì)一個(gè)DOM設(shè)置它的CSS樣式?
答案:外部樣式表,引入一個(gè)外部css文件
內(nèi)部樣式表,將css代碼放在 標(biāo)簽內(nèi)部
內(nèi)聯(lián)樣式,將css樣式直接定義在 HTML 元素內(nèi)部
2
CSS都有哪些選擇器?
答案:
派生選擇器(用HTML標(biāo)簽申明)
id選擇器(用DOM的ID申明)
類選擇器(用一個(gè)樣式類名申明)
屬性選擇器(用DOM的屬性申明,屬于CSS2,IE6不支持,不常用,不知道就算了)
除了前3種基本選擇器,還有一些擴(kuò)展選擇器,包括
后代選擇器(利用空格間隔,比如div .a{ })
群組選擇器(利用逗號(hào)間隔,比如p,div,#a{ })
那么問題來了,CSS選擇器的優(yōu)先級(jí)是怎么樣定義的?
基本原則:
一般而言,選擇器越特殊,它的優(yōu)先級(jí)越高。也就是選擇器指向的越準(zhǔn)確,它的優(yōu)先級(jí)就越高。
復(fù)雜的計(jì)算方法:
用1表示派生選擇器的優(yōu)先級(jí)
用10表示類選擇器的優(yōu)先級(jí)
用100標(biāo)示ID選擇器的優(yōu)先級(jí)
div.test1 .span var 優(yōu)先級(jí) 1+10 +10 +1
span#xxx .songs li 優(yōu)先級(jí)1+100 + 10 + 1
#xxx li 優(yōu)先級(jí) 100 +1
那么問題來了,看下列代碼,
標(biāo)簽內(nèi)的文字是什么顏色的?
123
答案:red。與樣式定義在文件中的先后順序有關(guān),即是后面的覆蓋前面的,與在
中的先后關(guān)系無關(guān)。
3
CSS中可以通過哪些屬性定義,使得一個(gè)DOM元素不顯示在瀏覽器可視范圍內(nèi)?
答案:
最基本的:
設(shè)置display屬性為none,或者設(shè)置visibility屬性為hidden
技巧性:
設(shè)置寬高為0,設(shè)置透明度為0,設(shè)置z-index位置在-1000
4
超鏈接訪問過后hover樣式就不出現(xiàn)的問題是什么?如何解決?
答案:被點(diǎn)擊訪問過的超鏈接樣式不在具有hover和active了,解決方法是改變CSS屬性的排列順序: L-V-H-A(link,visited,hover,active)
5
什么是Css Hack?ie6,7,8的hack分別是什么?
答案:針對(duì)不同的瀏覽器寫不同的CSS code的過程,就是CSS hack。
示例如下:
#test {
width:300px;
height:300px;
background-color:blue; /*firefox*/
background-color:red\9; /*all ie*/
background-color:yellow\0; /*ie8*/