輕松過面!大廠高頻CSS基礎(chǔ)面試題匯總

學(xué)過前端的人應(yīng)該都知道CSS的重要性穆壕,所以待牵,在前端開發(fā)的面試中,CSS的面試題會(huì)占到很大一部分的比重粱檀,而其中洲敢,基礎(chǔ)知識(shí)又是必考項(xiàng),這是體現(xiàn)面試者對(duì)于前端知識(shí)是否掌握好茄蚯,基礎(chǔ)是否牢固的重要證明压彭。

今天,小職就為大家?guī)硪恍┰谇岸碎_發(fā)面試中經(jīng)常會(huì)出現(xiàn)的CSS基礎(chǔ)面試題渗常,看看你都掌握好了嗎壮不?趕緊查漏補(bǔ)缺,前端初學(xué)者也可以通過這些基礎(chǔ)知識(shí)來加深對(duì)CSS的了解哦~

一皱碘、CSS是什么询一?

CSS即層疊樣式表(Cascading Style Sheets),是一種用來表現(xiàn)HTML或XML等文件樣式的計(jì)算機(jī)語(yǔ)言癌椿。CSS不僅可以靜態(tài)地修飾網(wǎng)頁(yè)健蕊,還可以配合各種腳本語(yǔ)言動(dòng)態(tài)地對(duì)網(wǎng)頁(yè)各元素進(jìn)行格式化。

CSS 能夠?qū)W(wǎng)頁(yè)中元素位置的排版進(jìn)行像素級(jí)精確控制踢俄,支持幾乎所有的字體字號(hào)樣式缩功,擁有對(duì)網(wǎng)頁(yè)對(duì)象和模型樣式編輯的能力。

二都办、為什么需要CSS嫡锌?

CSS是Web開發(fā)人員定義其創(chuàng)建的網(wǎng)頁(yè)外觀的一種方式虑稼,旨在允許開發(fā)人員將網(wǎng)站代碼的內(nèi)容和結(jié)構(gòu)與視覺設(shè)計(jì)分開。結(jié)構(gòu)和樣式的分離使HTML可以執(zhí)行其最初基于的更多功能-內(nèi)容標(biāo)記势木,而不必?fù)?dān)心頁(yè)面本身的設(shè)計(jì)和布局蛛倦,這通常稱為“外觀”頁(yè)面。

三啦桌、CSS集成到HTML頁(yè)面的方式有哪些溯壶?

1、設(shè)置標(biāo)簽的style=""屬性震蒋,稱為內(nèi)聯(lián)樣式茸塞;

2躲庄、在HTML的<head>標(biāo)簽中使用<style>標(biāo)簽查剖,稱為嵌入式樣式;

3噪窘、創(chuàng)建并鏈接外部CSS文件笋庄,稱為外部樣式表。

四倔监、css與html結(jié)合有哪些方式直砂?

1、每個(gè)標(biāo)簽加一個(gè)屬性法浩习;

2静暂、head中加style標(biāo)簽;

3谱秽、head中使用頭標(biāo)簽 link洽蛀。

五、CSS樣式(選擇器)的優(yōu)先級(jí)疟赊?

!important > 行內(nèi)樣式 > ID選擇器 > 類選擇器 > 標(biāo)簽選擇器 > 其他

六郊供、標(biāo)準(zhǔn)的CSS的盒子模型與低版本IE的盒子模型的區(qū)別?

標(biāo)準(zhǔn)盒子模型:寬度=內(nèi)容的寬度(content)+ border + padding + margin
低版本IE盒子模型:寬度=內(nèi)容寬度(content+border+padding)+ margin

七近哟、CSS三大特性是什么驮审?

CSS 的三大特性分別是層疊性、繼承性吉执、優(yōu)先級(jí)疯淫。

1.層疊性

層疊性是指相同選擇器給設(shè)置相同的樣式,此時(shí)一個(gè)樣式就會(huì)覆蓋另一個(gè)沖突的樣式戳玫,層疊性主要解決樣式?jīng)_突的問題熙掺。

層疊性原則:樣式?jīng)_突,則遵循就近原則量九;樣式不沖突适掰,則不層疊颂碧。

2.繼承性

CSS中的繼承:?子標(biāo)簽會(huì)繼承父標(biāo)簽的某些樣式,如文本顏色和字號(hào)类浪。恰當(dāng)?shù)厥褂美^承可以簡(jiǎn)化代碼载城,降低 CSS 樣式的復(fù)雜性。

子元素可以繼承父元素的樣式费就,如text-诉瓦,font-,line-這些元素開頭的可以繼承力细,以及color屬性睬澡。

行高的繼承性:行高可以跟單位也可以不跟單位;如果子元素沒有設(shè)置行高眠蚂,則會(huì)繼承父元素的行高為 x煞聪;此時(shí)子元素的行高是:當(dāng)前子元素的文字大小 * x;body 行高 x逝慧,這樣寫最大的優(yōu)勢(shì)就是里面子元素可以根據(jù)自己文字大小自動(dòng)調(diào)整行高昔脯。

3、優(yōu)先級(jí)(權(quán)重)

當(dāng)同一個(gè)元素指定多個(gè)選擇器笛臣,就會(huì)有優(yōu)先級(jí)的產(chǎn)生云稚。

八、偽類和偽元素的區(qū)別

偽類是一個(gè)以冒號(hào)作為前綴沈堡,被添加到一個(gè)選擇器末尾的關(guān)鍵字静陈,當(dāng)你希望樣式在特定狀態(tài)才被呈現(xiàn)到指定的元素時(shí),可以往元素的選擇器后面加上對(duì)應(yīng)的偽類诞丽。偽元素則用于創(chuàng)建一些不在文檔樹中的元素鲸拥,并為其添加樣式。

偽類和偽元素的主要區(qū)別在于率拒,偽類是通過在元素選擇器上加入偽類改變?cè)貭顟B(tài)崩泡。偽元素通過對(duì)元素的操作進(jìn)行對(duì)元素的改變。

九猬膨、CSS3新增偽類有哪些?

  • p:first-of-type 選擇屬于其父元素的首個(gè)元素角撞;

  • p:last-of-type 選擇屬于其父元素的最后元素;

  • p:only-of-type 選擇屬于其父元素唯一的元素勃痴;

  • p:only-child 選擇屬于其父元素的唯一子元素谒所;

  • p:nth-child(2) 選擇屬于其父元素的第二個(gè)子元素;

  • :checked?單選框或復(fù)選框被選中沛申。

  • :enabled :disabled 表單控件的禁用狀態(tài)劣领;

十、為什么要初始化CSS樣式

因?yàn)闉g覽器的兼容問題铁材,不同瀏覽器對(duì)有些標(biāo)簽的默認(rèn)值是不同的尖淘,如果沒對(duì)CSS初始化往往會(huì)出現(xiàn)瀏覽器之間的頁(yè)面顯示差異奕锌。

十一、為什么清除浮動(dòng)村生?如何清除惊暴?

在開發(fā)過程中,浮動(dòng)元素是css中最常用的屬性趁桃,浮動(dòng)起來的元素會(huì)脫離標(biāo)準(zhǔn)流辽话。如果父級(jí)盒子沒有設(shè)置高度就會(huì)造成父級(jí)盒子的高度塌陷,從而影響下面盒子的正常顯示卫病。

清除方法:

1油啤、給父級(jí)盒子添加高度

造成高度塌陷的原因就是父盒子沒有高度,我們只需要給父盒子添加一個(gè)高度即可

2蟀苛、額外標(biāo)簽法

額外標(biāo)簽法會(huì)在浮動(dòng)元素末尾添加一個(gè)空的標(biāo)簽益咬。給這個(gè)標(biāo)簽設(shè)置clear屬性,注意這個(gè)標(biāo)簽必須是塊級(jí)元素

3屹逛、給父級(jí)添加 overflow 屬性

這個(gè)方法是向浮動(dòng)元素的父級(jí)盒子添加voerflow:hidden屬性础废,這樣就可以達(dá)到清除浮動(dòng)的效果

4、給父級(jí)添加after偽元素

利用after偽元素定義一個(gè)clearfix類罕模,浮動(dòng)元素的父級(jí)元素調(diào)用此類可以實(shí)現(xiàn)清除浮動(dòng)的效果

十二、元素豎向的百分比設(shè)定是相對(duì)于容器的高度嗎帘瞭?

這需要根據(jù)具體情況來看淑掌,正常來說,當(dāng)按百分比設(shè)定一個(gè)元素的寬度時(shí)蝶念,它是相對(duì)于父容器的寬度計(jì)算的抛腕。但是,對(duì)一些表示豎向距離的屬性媒殉,例如 padding-top , padding-bottom , margin-top , margin-bottom 等担敌,當(dāng)按百分比設(shè)定它們時(shí),依據(jù)的也是父容器的寬度廷蓉,而不是高度全封。

十三、嵌入式樣式表的優(yōu)缺點(diǎn)是什么桃犬?

1刹悴、優(yōu)點(diǎn):

  • 可以在一個(gè)文檔中創(chuàng)建多種標(biāo)簽類型。

  • 在復(fù)雜情況下攒暇,可以使用選擇器和分組方法來應(yīng)用樣式土匀。

  • 無(wú)需額外下載。

2形用、缺點(diǎn):無(wú)法控制多個(gè)文檔就轧。

十四证杭、CSS的常用框架有哪些?

1妒御、Bootstrap:美國(guó)Twitter公司的設(shè)計(jì)師基于HTML躯砰、CSS、JavaScript 開發(fā)的簡(jiǎn)潔携丁、直觀琢歇、強(qiáng)悍的前端開發(fā)框架,使得 Web 開發(fā)更加快捷梦鉴。Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范李茫,它即是由動(dòng)態(tài)CSS語(yǔ)言Less寫成。

2肥橙、Layui:是一款采用自身模塊規(guī)范編寫的前端 UI 框架魄宏,遵循原生 HTML/CSS/JS 的書寫與組織形式,門檻極低存筏,拿來即用宠互。其外在極簡(jiǎn),體積輕盈椭坚,組件豐盈予跌,非常適合界面的快速開發(fā)。

3善茎、ElementUI:一套為開發(fā)者券册、設(shè)計(jì)師和產(chǎn)品經(jīng)理準(zhǔn)備的基于 Vue 2.0的桌面端組件庫(kù)。

4垂涯、antd:是基于 Ant Design 設(shè)計(jì)體系的 React UI 組件庫(kù)烁焙,主要用于研發(fā)企業(yè)級(jí)中后臺(tái)產(chǎn)品。開箱即用的高質(zhì)量 React 組件耕赘,全鏈路開發(fā)和設(shè)計(jì)工具體系骄蝇,數(shù)十個(gè)國(guó)際化語(yǔ)言支持。

十五操骡、px 和 em 的區(qū)別

px全稱pixel像素九火,是相對(duì)于屏幕分辨率而言的,它是一個(gè)絕對(duì)單位当娱,但同時(shí)具有一定的相對(duì)性吃既。在同一個(gè)設(shè)備上每個(gè)像素代表的物理長(zhǎng)度是固定不變的,這點(diǎn)表現(xiàn)的是絕對(duì)性跨细。但是在不同的設(shè)備之間每個(gè)設(shè)備像素所代表的物理長(zhǎng)度是可以變化的鹦倚,這點(diǎn)表現(xiàn)的是相對(duì)性。

em是一個(gè)相對(duì)長(zhǎng)度單位冀惭,具體的大小需要相對(duì)于父元素計(jì)算震叙。

十六掀鹅、居中為什么要使用?transform,而不用?marginLeft/Top媒楼?

transform 屬于合成屬性乐尊,對(duì)合成屬性進(jìn)行 transition/animation 動(dòng)畫將會(huì)創(chuàng)建一個(gè)合成層,這使得被動(dòng)畫元素在一個(gè)獨(dú)立的層中進(jìn)行動(dòng)畫划址。通常情況下扔嵌,瀏覽器會(huì)將一個(gè)層的內(nèi)容先繪制進(jìn)一個(gè)位圖中,然后再作為紋理上傳到 GPU夺颤,只要該層的內(nèi)容不發(fā)生改變痢缎,就沒必要進(jìn)行重繪,瀏覽器會(huì)通過重新復(fù)合來形成一個(gè)新的幀世澜。

top/left屬于布局屬性独旷,該屬性的變化會(huì)導(dǎo)致重排,即指對(duì)這些節(jié)點(diǎn)以及受這些節(jié)點(diǎn)影響的其他節(jié)點(diǎn)寥裂,進(jìn)行CSS計(jì)算->布局->重繪過程嵌洼,瀏覽器需要為整個(gè)層進(jìn)行重繪并重新上傳到 GPU,造成了極大的性能開銷封恰。

十七麻养、?什么是響應(yīng)式設(shè)計(jì)?響應(yīng)式設(shè)計(jì)的基本原理是什么俭驮?

響應(yīng)式網(wǎng)站設(shè)計(jì)是一個(gè)網(wǎng)站能夠兼容多個(gè)終端回溺,而不是為每一個(gè)終端做一個(gè)特定的版本』炻埽基本原理是通過媒體查詢檢測(cè)不同的設(shè)備屏幕尺寸做處理。

十八萍恕、style標(biāo)簽寫在body后與body前有什么區(qū)別逸嘀?

頁(yè)面加載自上而下,當(dāng)然是先加載樣式允粤。
寫在body標(biāo)簽后由于瀏覽器以逐行方式對(duì)HTML文檔進(jìn)行解析崭倘,當(dāng)解析到寫在尾部的樣式表(外聯(lián)或?qū)懺趕tyle標(biāo)簽)會(huì)導(dǎo)致瀏覽器停止之前的渲染,等待加載且解析樣式表完成之后重新渲染类垫,在windows的IE下可能會(huì)出現(xiàn)FOUC現(xiàn)象(即樣式失效導(dǎo)致的頁(yè)面閃爍問題)司光。

十九、什么是“漸進(jìn)增強(qiáng)”和“平穩(wěn)退化”?

漸進(jìn)增強(qiáng)是指以最基本的可用性作為出發(fā)點(diǎn)悉患,在保證站點(diǎn)頁(yè)面在低級(jí)瀏覽器中的可用性和可訪問性的基礎(chǔ)之上残家,逐步增加功能及提高用戶體驗(yàn)。我們?nèi)粘5囊恍╅_發(fā)習(xí)慣售躁,例如首先使用標(biāo)記語(yǔ)言編寫頁(yè)面坞淮,然后通過樣式表來控制頁(yè)面樣式等茴晋,其實(shí)都屬于漸進(jìn)增強(qiáng)的概念。

平穩(wěn)退化是指先使用最新的技術(shù)面向高級(jí)瀏覽器構(gòu)建最強(qiáng)的功能及用戶體驗(yàn)回窘,然后再針對(duì)低級(jí)瀏覽器的限制诺擅,逐步衰減那些無(wú)法被支持的功能及體驗(yàn)。在我們?nèi)粘5拈_發(fā)中啡直,先針對(duì)Chrome編寫頁(yè)面代碼烁涌,然后修復(fù)IE中的異常或針對(duì)IE去除那些無(wú)法被實(shí)現(xiàn)的功能特色酒觅,就是一個(gè)典型的平穩(wěn)退化的例子撮执。

在HTML5與 CSS3實(shí)戰(zhàn)中,“漸進(jìn)增強(qiáng)”和“平穩(wěn)退化”這兩個(gè)概念尤其重要了阐滩,怎樣保證使用不斷變化的新技術(shù)來構(gòu)建在主流瀏覽器下都具有基本可用性的站點(diǎn)二打,并針對(duì)高級(jí)瀏覽器進(jìn)行體驗(yàn)提升,這些是我們?cè)陂_發(fā)過程中需要明確的思路掂榔。

上面這些CSS高頻考點(diǎn)你都掌握了嗎继效?如果還有遺漏的地方趕緊記下來吧。作為CSS的基礎(chǔ)装获,并且也是很多公司前端崗位面試的高頻考點(diǎn)瑞信,熟記上面的內(nèi)容可以幫你輕松過面試,避免因?yàn)榛A(chǔ)知識(shí)掌握不牢固而與心儀的公司失之交臂的遺憾哦~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末穴豫,一起剝皮案震驚了整個(gè)濱河市凡简,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌精肃,老刑警劉巖秤涩,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惋砂,死亡現(xiàn)場(chǎng)離奇詭異声搁,居然都是意外死亡嘿棘,警方通過查閱死者的電腦和手機(jī)蔗包,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門镶苞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芳来,“玉大人停做,你說我怎么就攤上這事科贬∽世#” “怎么了武翎?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)溶锭。 經(jīng)常有香客問我宝恶,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任卑惜,我火速辦了婚禮膏执,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘露久。我一直安慰自己更米,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布毫痕。 她就那樣靜靜地躺著征峦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪消请。 梳的紋絲不亂的頭發(fā)上栏笆,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音臊泰,去河邊找鬼蛉加。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缸逃,可吹牛的內(nèi)容都是我干的针饥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼需频,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼丁眼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起昭殉,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤苞七,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后挪丢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蹂风,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年乾蓬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了硫眨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巢块,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巧号,到底是詐尸還是另有隱情族奢,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布丹鸿,位于F島的核電站越走,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜廊敌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一铜跑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧骡澈,春花似錦锅纺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至护锤,卻和暖如春官地,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烙懦。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工驱入, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氯析。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓亏较,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親魄鸦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宴杀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容