前端面試經(jīng)典題目(css篇)

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)的文字是什么顏色的?


答案: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。

示例如下:


6.請(qǐng)用Css寫一個(gè)簡(jiǎn)單的幻燈片效果頁面

答案:知道是要用css3。使用animation動(dòng)畫實(shí)現(xiàn)一個(gè)簡(jiǎn)單的幻燈片效果。


7.行內(nèi)元素和塊級(jí)元素的具體區(qū)別是什么?行內(nèi)元素的padding和margin可設(shè)置嗎?

塊級(jí)元素(block)特性:

總是獨(dú)占一行,表現(xiàn)為另起一行開始,而且其后的元素也必須另起一行顯示;

寬度(width)、高度(height)、內(nèi)邊距(padding)和外邊距(margin)都可控制;

內(nèi)聯(lián)元素(inline)特性:

和相鄰的內(nèi)聯(lián)元素在同一行;

寬度(width)、高度(height)、內(nèi)邊距的top/bottom(padding-top/padding-bottom)和外邊距的top/bottom(margin-top/margin-bottom)都不可改變(也就是padding和margin的left和right是可以設(shè)置的),就是里面文字或圖片的大小。

那么問題來了,瀏覽器還有默認(rèn)的天生inline-block元素(擁有內(nèi)在尺寸,可設(shè)置高寬,但不會(huì)自動(dòng)換行),有哪些?

答案:input img button texterea label

8.什么是外邊距重疊?重疊的結(jié)果是什么?

答案:

外邊距重疊就是margin-collapse。

在CSS當(dāng)中,相鄰的兩個(gè)盒子(可能是兄弟關(guān)系也可能是祖先關(guān)系)的外邊距可以結(jié)合成一個(gè)單獨(dú)的外邊距。這種合并外邊距的方式被稱為折疊,并且因而所結(jié)合成的外邊距稱為折疊外邊距。

折疊結(jié)果遵循下列計(jì)算規(guī)則:

兩個(gè)相鄰的外邊距都是正數(shù)時(shí),折疊結(jié)果是它們兩者之間較大的值。

兩個(gè)相鄰的外邊距都是負(fù)數(shù)時(shí),折疊結(jié)果是兩者絕對(duì)值的較大值。

兩個(gè)外邊距一正一負(fù)時(shí),折疊結(jié)果是兩者的相加的和。

9.rgba()和opacity的透明效果有什么不同?

答案:

rgba()和opacity都能實(shí)現(xiàn)透明效果,但最大的不同是opacity作用于元素,以及元素內(nèi)的所有內(nèi)容的透明度,

而rgba()只作用于元素的顏色或其背景色。(設(shè)置rgba透明的元素的子元素不會(huì)繼承透明效果?。?/p>

10.css中可以讓文字在垂直和水平方向上重疊的兩個(gè)屬性是什么?

答案:

垂直方向:line-height

水平方向:letter-spacing

那么問題來了,關(guān)于letter-spacing的妙用知道有哪些么?

答案:可以用于消除inline-block元素間的換行符空格間隙問題。

11.如何垂直居中一個(gè)浮動(dòng)元素?


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,168評(píng)論 1 92
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁面在哪些流覽器測(cè)試過?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,377評(píng)論 0 8
  • 轉(zhuǎn)載請(qǐng)聲明 原文鏈接地址 關(guān)注公眾號(hào)獲取更多資訊 第一部分 HTML 第一章 職業(yè)規(guī)劃和前景 職業(yè)方向規(guī)劃定位...
    前端進(jìn)階之旅閱讀 16,882評(píng)論 32 459
  • 1.CSS基本概念 1.1 CSS的定義 CSS(Cascading Style Sheets)層疊樣式表,主要用...
    寥寥十一閱讀 2,068評(píng)論 0 6
  • 圍棋機(jī)器人——AlphaGo AlphaGo其實(shí)是有兩個(gè)“大腦”組成的,也就是兩套完整的深度學(xué)習(xí)網(wǎng)絡(luò)來進(jìn)行配合計(jì)算...
    夜空一起砍猩猩閱讀 1,958評(píng)論 0 1

友情鏈接更多精彩內(nèi)容