自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

26 個 CSS 面試的高頻考點助力金三銀四

開發(fā) 前端
CSS是層疊樣式表( Cascading Style Sheets )的縮寫,是一種樣式表語言,用于描述以 HTML 之類的標(biāo)記語言編寫的文檔的布局。既然我們已經(jīng)討論了CSS的基礎(chǔ)知識,讓我們來觀察一下基于CSS的重要面試問題。

CSS是層疊樣式表( Cascading Style Sheets )的縮寫,是一種樣式表語言,用于描述以 HTML 之類的標(biāo)記語言編寫的文檔的布局。它是用于設(shè)計Web頁面的三劍客之一,另外兩位浩客是HTML和Javascript。

CSS 的設(shè)計目的是使樣式和內(nèi)容分離,包括布局、顏色和字體。這種分離可以提高內(nèi)容的可訪問性,在樣式特征的規(guī)范中提供更多的靈活性和控制,通過在一個單獨的. .css文件中指定相關(guān)的 CSS,使多個 web 頁面能夠共享格式,并減少結(jié)構(gòu)內(nèi)容中的復(fù)雜性和重復(fù)。

CSS

它具有簡單的語法,并使用大量的英文關(guān)鍵字來指定各種樣式屬性的名稱。

既然我們已經(jīng)討論了CSS的基礎(chǔ)知識,讓我們來觀察一下基于CSS的重要面試問題。

問題1:什么是 CSS?

CSS(層疊樣式表)是一種樣式語言,對于 HTML 元素來說足夠簡單。它在網(wǎng)頁設(shè)計中非常流行,其應(yīng)用在XHTML中也很常見。

問題2:為什么要開發(fā)CSS?

CSS是在1997年開發(fā)的,作為一種web開發(fā)人員設(shè)計他們正在創(chuàng)建的web頁面布局的方法。它的目的是讓開發(fā)者將網(wǎng)站代碼的內(nèi)容和結(jié)構(gòu)從視覺設(shè)計中分離出來。

這種結(jié)構(gòu)和設(shè)計的分離允許HTML執(zhí)行比原來更多的功能。

問題3:CSS的主要版本有哪些?

CSS的不同版本:

  • CSS1
  • CSS2
  • CSS2.1
  • CSS3

問題4:CSS樣式的組成部分是什么?

一個樣式規(guī)則由三部分組成:

  • 選擇器–選擇器是 HTML 標(biāo)記,用于選擇要設(shè)置樣式的內(nèi)容。它根據(jù)其ID,類和名稱選擇 HTML元素。
  • 屬性–屬性是 HTML 標(biāo)簽的一種屬性。簡而言之,所有 HTML 屬性都轉(zhuǎn)換為 CSS 屬性。
  • 值– CSS中的值定義CSS屬性的一組有效值。

問題 5:有多少種方法可以將 CSS 集成為 web 頁面

CSS 可以集成為三種方式:

  • 內(nèi)聯(lián):直接在HTML元素上使用
    1. <p style=”colour:skyblue;”>hello world</p> 
  • 外部:在工作空間中創(chuàng)建單獨的CSS文件,然后在創(chuàng)建的每個web頁面中鏈接它們
    1. <head> 
    2.  
    3. <link rel=”text/css”href=”your_CSS_file_location”/> 
  • 內(nèi)部:web 頁面的 head 元素在其中實現(xiàn)了內(nèi)部 CSS。
    1. head> 
    2.      <style>  
    3.              P{ 
    4.                    color : lime; 
    5.                background-color:black; 
    6.                 } 
    7.      </style> 
    8. </head> 

問題 6:誰在維護(hù) CSS 規(guī)范?

萬維網(wǎng)協(xié)會維護(hù) CSS規(guī)范。

問題 7:偽元素是什么意思?

偽元素是添加到選擇器的關(guān)鍵字,它允許一種樣式,即所選元素的特定部分。CSS用于在HTML標(biāo)記中應(yīng)用樣式,它允許在不影響實際文檔的情況下對文檔進(jìn)行額外標(biāo)記。它可以用來:

  • 為第一個字母、行或元素設(shè)置樣式。
  • 插入內(nèi)容

語法:

  1. Selector: :pseudo-element 
  2. {Property1 :value; 
  3. Property2 :value;} 

問題 8:CSS有什么優(yōu)勢?

CSS的優(yōu)點是:

  • 一致性 – CSS有助于構(gòu)建一致的框架,設(shè)計人員可以使用該框架來構(gòu)建其他站點。因此,網(wǎng)頁設(shè)計師的效率也提高了。
  • 易于使用 – CSS 是非常容易學(xué)習(xí)和簡化網(wǎng)站開發(fā)。所有代碼都放在一個頁面上,這意味著對代碼行進(jìn)行改進(jìn)或編輯不需要重復(fù)修改多個頁面.
  • *網(wǎng)站速度 *– 通常,一個網(wǎng)站使用的代碼最多可以達(dá)到 2 頁或更多。但是對于CSS,這不是問題。它只需要2-3行代碼,因此,網(wǎng)站數(shù)據(jù)庫保持整潔,消除任何網(wǎng)站加載問題。
  • 設(shè)備兼容性 – 由于人們使用不同類型的智能設(shè)備訪問互聯(lián)網(wǎng),因此需要響應(yīng)式web設(shè)計。CSS 在這里的作用是使 web 頁面的響應(yīng)性更好,這樣它們就可以在所有設(shè)備中以相同的方式顯示。
  • 多瀏覽器支持 – CSS享有多瀏覽器的支持,它與所有主要的互聯(lián)網(wǎng)瀏覽器兼容。
  • 重新定位 – CSS允許您定義頁面上 web 元素位置的變化。通過它的實現(xiàn),開發(fā)人員可以將 HTML 元素放置在他們喜歡的位置,以便與頁面的美學(xué)吸引力或其他考慮因素保持一致。

問題9:CSS 漸變是什么?

漸變是指我們在兩幅圖像之間創(chuàng)建中間幀,以獲得第一幅圖像的外觀,然后發(fā)展成第二幅圖像的過程,它主要用于創(chuàng)建動畫。

問題10:什么是 CSS 特異性?

CSS 特定性是一個分?jǐn)?shù)或等級,它決定了元素必須使用哪種樣式聲明。CSS 中有四類可以授權(quán)選擇器的特異性級別:

  • 內(nèi)聯(lián)樣式
  • ID
  • 類,屬性和偽類
  • 元素和偽元素

問題12:CSS有什么缺點

CSS的缺點有:

  • 版本太多 – 與HTML或Javascript等其他參數(shù)相比,CSS有很多版本-CSS1,CSS2,CSS2.1,CSS3。因此,CSS變得非常混亂,尤其是對于初學(xué)者。
  • 缺乏安全性 - 由于CSS是基于開放文本的系統(tǒng),因此它沒有內(nèi)置的安全系統(tǒng)來防止其被覆蓋。通過對其讀/寫操作的訪問,任何人都可以更改 CSS 文件并更改鏈接。
  • Fragmentation - 使用 CSS,可能無法在一個瀏覽器上使用另一瀏覽器。因此,在網(wǎng)站上線之前,Web 開發(fā)人員必須通過在多個瀏覽器上運(yùn)行程序來測試兼容性。
  • 復(fù)雜性–使用 Microsoft FrontPage 等第三方軟件會使CSS變得復(fù)雜。

問題13:什么是 RWD (Responsive Web Design)?

RWD(響應(yīng)式Web設(shè)計)技術(shù)用于在每種屏幕尺寸以及移動,平板電腦,臺式機(jī)和筆記本電腦等設(shè)備上完美顯示設(shè)計頁面,讓我們無需為每個設(shè)備創(chuàng)建不同的頁面。

問題14:CSS 精靈有什么好處?

CSS精靈的好處有:

  • 通過將各種小圖像組合成一個圖像,減少了web頁面的加載時間。
  • 減少HTTP請求,從而減少加載時間。

問題 15:什么是 CSS 上下文選擇器?

上下文選擇器,嚴(yán)格來講,叫后代組合式選擇器,就是一組以空格分隔的標(biāo)簽名。用于選擇作為指定祖先元素后代的標(biāo)簽。只要有標(biāo)簽在它的層次結(jié)構(gòu)“上游”存在這么一個祖先,那么就會選中該標(biāo)簽。無論從該標(biāo)簽到作為祖先的上下文之間隔著多少層次都沒有關(guān)系。

問題 16:什么是漸進(jìn)增強(qiáng)和平穩(wěn)退化?

漸進(jìn)增強(qiáng)的概念是指從最基本的可用性出發(fā),在保證站點頁面在低級瀏覽器中 的可用性和可訪問性的基礎(chǔ)上,逐步增加功能及提高用戶體驗。本質(zhì)上講,我們?nèi)粘5囊恍╅_發(fā)習(xí)慣,例如首先使用標(biāo)記語言編寫頁面,然后通過樣式表來控制頁面 樣式等,都屬于漸進(jìn)增強(qiáng)的概念;其他更為明顯的行為包括使用HTML5、CSS3等新技術(shù),針對高級瀏覽器為頁面提高用戶體驗的豐富程度。

平穩(wěn)退化的概念是指首先使用最新的技術(shù)面向高級瀏覽器構(gòu)建最強(qiáng)的功能及用戶體驗,然后針對低級瀏覽器的限制,逐步衰減那些無法被支持的功能及體驗;在我們?nèi)粘5拈_ 發(fā)中,一個典型的平穩(wěn)退化的例子就是首先針對Chrome編寫頁面代碼,然后修復(fù)IE中的異?;蜥槍E去除那些無法被實現(xiàn)的功能特色.

所以, 這兩個概念方法其實早已并存在我們的日常開發(fā)工作中了,只是“漸進(jìn)增強(qiáng)”與“平穩(wěn)退化”這樣的措辭是近些年才開始被普及。在我們眼下的HTML5與 CSS3實戰(zhàn)用,這兩個概念就尤其重要了,怎樣保證使用不斷變化的新技術(shù)來構(gòu)建在主流瀏覽器下都具有基本可用性的站點,并針對高級瀏覽器進(jìn)行體驗提升,這 些是我們在開發(fā)過程中需要明確的思路。

問題 17:我們?nèi)绾卧诰W(wǎng)頁上添加圖標(biāo)?

我們可以使用諸如font-awesome或者阿里的 iconfont之類的圖標(biāo)庫將圖標(biāo)添加到HTML網(wǎng)頁。我們必須將給定圖標(biāo)類的名稱添加到任何內(nèi)聯(lián)HTML元素中。(或)。圖標(biāo)庫中的圖標(biāo)是可縮放的矢量,可以使用CSS進(jìn)行自定義。

問題 18:哪個屬性指定邊框的寬度?

border-width指定邊框的寬度。

問題 19:如何區(qū)分物理標(biāo)簽和邏輯標(biāo)簽?

物理標(biāo)簽被稱為表示標(biāo)記,而邏輯標(biāo)簽對于外觀是無用的。物理標(biāo)簽是較新的版本,而邏輯標(biāo)簽是舊的并且專注于內(nèi)容。

如題,我們的標(biāo)簽元素寫上后,瀏覽器就會渲染出結(jié)果,但不僅僅是這么簡單

  1. //物理元素 
  2. <b>我想用b標(biāo)簽加粗</b> 
  3.  
  4. //邏輯元素 
  5. <strong>我想用strong標(biāo)簽加粗</strong> 
  6.  
  7. //兩段文字都加粗了,而且視覺效果完全一樣 

確實,文字加粗了,兩者都達(dá)到了我們想要的目的,但是我們忽略了一個問題,既然b標(biāo)簽可以加粗,那么strong這個標(biāo)簽同樣是加粗,存在的 意義又是什么呢?既然W3C定義了兩個,它們之間的不同點是什么呢?它們之間的相同點又是什么呢?

(1) 物理元素

物理元素,又叫實體標(biāo)簽,它所做的是一種物理行為,比如上面我把一段文字用b標(biāo)簽加粗了,它所傳達(dá)的給瀏覽器,告訴瀏覽器 我要加粗這段文字,從單詞Bold中也可以看出來,英文中僅僅是加粗的意思,并沒有其他作用??偨Y(jié)來說就是一句話:物理元素就是告訴瀏覽器該怎么顯示出來。

(2) 邏輯元素

邏輯元素,從英文字面上Strong就可以看出它是強(qiáng)調(diào)的意思,所以我們用這個邏輯元素(如上strong)來向瀏覽器傳達(dá) 一個強(qiáng)調(diào)某段文字重要性的消息,說明此文字較為重要,也有利于搜索引擎收錄。

Web標(biāo)準(zhǔn)主張XHTML不涉及具體的表現(xiàn)形式,“強(qiáng)調(diào)”可以用加粗來強(qiáng)調(diào),也可以用別的方式強(qiáng)調(diào),也可以通過css來改變strong的具體表現(xiàn) ,還有就是并不是有了strong邏輯標(biāo)簽,就不用b標(biāo)簽來表示字體加粗了,b標(biāo)簽和strong標(biāo)簽?zāi)J(rèn)情況下強(qiáng)調(diào)的效果一致,strong完全可以定義成別的樣式,用來強(qiáng)調(diào) 效果,但是最好符合W3C標(biāo)準(zhǔn),它更提倡內(nèi)容與樣式分離,所以單純?yōu)榱诉_(dá)到加粗而使用b標(biāo)簽不建議這樣做, 從XHTML文檔有意義性及用戶體驗角度來說,strong邏輯標(biāo)簽更加合適,而SEO方面,則針對優(yōu)化情況而定。

問題 20:如何在CSS中定義一個偽類?它們是用來干什么的

CSS偽類是用來添加一些選擇器的特殊效果。偽類的語法

  1. selector:pseudo-class{property:value;} 

問題 21:CSS和SCSS有什么區(qū)別?

CSS 和 SCSS 之間的區(qū)別如下:

  • CSS是一種用于設(shè)計web頁面的樣式語言,而SCSS用于為瀏覽器組合CSS樣式表。
  • SCSS 提供了一些變量,可以使用這些變量來縮短代碼,這是與 CSS 相比的一大優(yōu)勢。

問題 22:嵌入式樣式表的優(yōu)缺點是什么?

嵌入式樣式表的優(yōu)點:

  • 可以在一個文檔中創(chuàng)建多種標(biāo)簽類型。
  • 在復(fù)雜情況下,可以使用選擇器和分組方法來應(yīng)用樣式。
  • 無需額外下載。

嵌入式樣式表的缺點:

  • 無法控制多個文檔。

問題 23:列出使用的各種媒體類型

不同的介質(zhì)不區(qū)分大小寫,因此它們具有不同的屬性。他們是:

  • aural - 用于語音和音頻合成器
  • print - 用于打印機(jī)
  • projection - 用于方案展示,比如幻燈片
  • handheld - 用于小的手持的設(shè)備
  • screen - 用于電腦顯示器

問題 24:font 的屬性有哪些?

  • Font-style
  • Font-variant
  • Font-weight
  • Font-size/line-weight
  • Font-family

問題 25:“規(guī)則集”是什么意思?

該指令告訴瀏覽器如何在HTML頁面上渲染特定元素。它由一個選擇器和一個遵循規(guī)則集的聲明塊組成。選擇器可以附加到其他選擇器,以通過規(guī)則集進(jìn)行標(biāo)識。

問題 26:什么是 CSS 框架?

CSS 框架是一個庫,它允許使用CSS語言進(jìn)行更輕松,更符合標(biāo)準(zhǔn)的Web設(shè)計。這些框架中的大多數(shù)至少包含一個網(wǎng)格以及更多功能和其他基于Javascript的功能。一些著名的CSS框架有:ACSS,Bulma,YAML,F(xiàn)oundation等。

責(zé)任編輯:趙寧寧 來源: 大遷世界
相關(guān)推薦

2016-03-17 11:06:46

跳槽加薪面試

2021-03-12 09:24:58

Redis面試場景

2021-03-23 10:25:05

Redis數(shù)據(jù)結(jié)構(gòu)

2019-11-26 10:30:11

CSS前端面試題

2019-02-20 14:10:22

2024-04-17 13:04:37

Vue組件開發(fā)

2021-07-12 10:37:42

Spring面試事務(wù)

2020-03-25 18:35:04

Java職業(yè)規(guī)劃跳槽

2018-03-23 17:24:03

2020-10-21 14:47:20

谷歌技術(shù)面試

2018-04-04 14:41:35

前端JavaScript面試

2022-04-02 10:23:12

MySQL數(shù)據(jù)庫

2021-03-18 08:46:57

MQ消費(fèi)端擴(kuò)容

2021-05-08 14:20:27

Redis面試數(shù)據(jù)庫

2016-04-08 10:13:24

程序員IT從業(yè)者跳槽

2023-08-02 08:54:58

Java弱引用鏈表

2010-09-01 21:55:06

網(wǎng)銀安全用戶安全

2022-04-15 09:23:29

Kubernetes面試題

2018-09-17 09:10:11

跳槽程序員面試

2010-09-14 15:47:45

CSS導(dǎo)航菜單
點贊
收藏

51CTO技術(shù)棧公眾號