搜尋
首頁web前端css教學七題重要CSS面試題

七題重要CSS面試題

Aug 03, 2020 pm 03:32 PM
css面試題

七題重要CSS面試題

      • #1. CSS3中的盒子模型
      • 2. display:none與visibility:hidden的區別
      • 3. 說一說CSS的sprite(精靈圖)
      • 4. position的屬性值有哪些?
      • 5. PNG、GIF、JPG、WEBP的差異以及如何選擇?
      • 6. CSS選擇器有哪些?優先級?
      • 7. 浮動相關
        • (1)什麼時候需要清除浮動?
        • (2)如何清除浮動?

專題推薦2020年CSS面試題彙總(最新)

#1. CSS3中的盒子模型

CSS3中的盒子模型有以下兩種:標準盒模型、IE盒模型

七題重要CSS面試題
七題重要CSS面試題

  • 標準盒模型和IE盒模型的差別就是:標準盒模型的寬高指的是內容的寬高,而IE盒模型的寬高指的是內容,內邊距,邊框的總和。

  • 在CSS3中,可以使用box-sizeing:border-box將普通盒模型轉換為IE盒模型。有時候我們已經設定了一個盒子的寬高,但是,如果想要改變border,這樣盒子的大小就會改變,我們就可以將其轉換為IE盒模型,就不用每次計算盒子內容大小了。

  • 在盒子模型中

    • box-sizeing:content-box表示標準盒子模型(預設值)
    • box-sizeing:border-box表示IE盒模型(也就是怪異盒子模型)

除此之外,還有:Flex彈性伸縮盒模型

七題重要CSS面試題

2. display:none與visibility:hidden的差異

這兩個屬性都是讓元素隱藏不可見

差異:

(1)在渲染樹中

  • ##display:none會讓元素完全中渲染樹中消失,渲染的時候不會佔據任何空間;
  • visibility:hidden不會讓元素從渲染樹中消失,渲染的元素還會佔據對應的空間,只是內容不可見
(2)繼承

  • #display:none是非繼承屬性,他的子孫節點會隨著父節點從渲染樹消失,透過修改子孫節點的屬性也無法顯示。
  • visibility:hidden是繼承屬性,子孫節點消失是由於繼承了hidden,透過設定visibility:visible可以讓子孫節點顯示。
(3)修改常規文件流中的元素的

display通常會造成文件的重排,但是修改visibility屬性只會造成本元素的重繪

(4)如果使用讀取螢幕器,設定為

display:none的內容不會被讀取,設定為visibility:hidden的內容會被讀取。 visibility:hidden

3. 說一說CSS的sprite(精靈圖)

概念:

精靈圖就是將多個小圖片拼接在一個圖片中,使用的時候透過

background-position元素尺寸調整需要顯示的背景圖案。

優點:

    減少HTTP請求數,在一定程度上提高了頁面的載入速度
  • 減少圖片的體積,因為每個圖片都有一個頭訊息,把多個圖片放在一起,會共用一個頭信息,較少了圖片的字節數
  • 更換風格方便,只需要在一張或少張圖片上修改圖片的顏色或樣式,整個網頁的風格就可以改變。
  • 減少了圖片命名的困擾,只要給一張或幾張圖片命名即可

#缺點:#

  • 維護比較麻煩,如果頁面背景有一點改變,就需要修改整個合併的圖片
  • 合併比較麻煩,需要將多張圖片有序的合理的合併為一張圖片,也要預留一定的空間,防止不必要的背景
  • 在寬螢幕或高解析度螢幕下的自適應頁面,如果圖片不夠寬,就可能出現背景斷裂的情況

#4. position的屬性值有哪些?

屬性值 概述
#absolute 生成絕對定位的元素,相對於static定位以外的一個父元素進行定位
relative 產生相對定位的元素,相對於其原來的位置進行定位
fixed 產生絕對定位的元素,相對於瀏覽器視窗進行定位
static 預設值,沒有定位,元素出現在正常的文件流中
inherit 規定從父元素繼承position屬性的值

5. PNG、GIF、JPG、WEBP的差異以及如何選擇?

(1)GIF

  • GIF圖片只儲存8位元索引,最多支援256色,
  • 採用無損壓縮,尺寸較小
  • 支援透明和簡單動畫

適用於:色彩簡單的logo,icon,線框圖,簡單的動畫

(2)JPG

  • 採用有損壓縮,可以控制壓縮的品質
  • 採用直接色,色彩豐富
  • 不支援透明

適用於:色彩豐富的圖片、漸層影像

(3)PNG

  • png-8是採用無損壓縮,以8位元索引色為基礎的點陣圖格式,比gif的透明的支援更好,同等質量下大小也更小,但不支援動畫。適用於圖標,背景,按鈕。
  • png-24採用無損壓縮,是基於直接色的點陣圖格式,大小相對以上幾種更大,但是圖片品質高,適用於原始檔案或需要二次編輯的圖片格式的保存。

(4)WEBP

  • 由Google開發,體積更小
  • 支援有損壓縮和無損壓縮
  • #支援透明和動畫

適用於:支援webp的APP或網頁

##webp 檔案小,支援有損和無損壓縮,支援動畫、透明瀏覽器相容性不好支援webp格式的app和webview
格式 #優點 缺點 適用場景
gif 檔案小,支援動畫、透明,無相容性問題 只支援256種顏色 色彩簡單的logo、icon、動圖
jpg 色彩豐富,文件小 有損壓縮,重複儲存圖片品質下降明顯 顏色豐富的圖片/漸層影像
png 無損壓縮,支援透明,簡單圖片尺寸小 不支援動畫,色彩豐富的圖片尺寸大 logo/icon/透明圖
#6. CSS選擇器有哪些?優先級?

選擇器#格式類別選擇器#id選擇器相鄰兄弟選擇器#子選擇器後位選擇器#通配符選擇器
#p
#myclassname
#myid
h1 p
ul>li
li a
*######### ###屬性選擇器######a[ref=“eee”]#############偽類別選擇器######li:last-child### ##########

如果需要選擇緊接在另一個元素後的元素,而且二者有相同的父元素,可以使用相鄰兄弟選擇器.例如,如果要增加緊接在h1 元素後出現的段落的上邊距,可以這樣寫:

h1 + p {margin-top:50px;}

對於選擇器的優先權

  • 元素選擇器:1
  • class選擇器:10
  • id ​​選擇器:100
  • 元素標籤:1000

需要注意的是:

  • !important宣告的樣式的優先權最高
  • 如果優先權相同,則最後出現的樣式生效
  • 繼承得到的樣式的優先權最低

屬性繼承性:

  • 可以繼承的屬性:font-size、font-family、color
  • 不可以繼承的樣式:border、padding、margin、width、height

# 7. 浮動相關

元素設定為浮動之後,display會自動變成block。

(1)什麼時候需要清除浮動?

浮動造成的問題如下:

  • 父元素的高度無法撐開,影響與父級同級的元素
  • 與浮動元素同級的非浮動元素給予跟隨在它後面
  • 若一個元素浮動,則其前面的元素也需要浮動,否則會影響頁面的結構

(2)如何清除浮動?

清除浮動的方式如下:

  • 給父級p定義height屬性
  • 最後一個浮動元素之後新增一個空的p標籤,並新增clear:both樣式
  • 包含浮動元素的父級標籤新增overflow:hiddenoverflow:auto


##目錄

      • 1 . CSS3中的盒子模型
      • 2. display:none與visibility:hidden的區別
      • 3. 說一說CSS的sprite(精靈圖)
      • #4. position的屬性值有哪些?
      • 5. PNG、GIF、JPG、WEBP的差異以及如何選擇?
      • 6. CSS選擇器有哪些?優先級?
      • 7. 浮動相關
        • (1)什麼時候需要清除浮動?
        • (2)如何清除浮動?

1. CSS3中的盒子模型

CSS3中的盒子模型有以下兩種:標準盒模型、IE盒模型

七題重要CSS面試題
七題重要CSS面試題

  • 標準盒模型與IE盒模型的差別就是:標準盒模型的寬高指的是內容的寬高,而IE盒模型的寬高指的是內容,內邊距,邊框的總和。

  • 在CSS3中,可以使用box-sizeing:border-box將普通盒模型轉換為IE盒模型。有時候我們已經設定了一個盒子的寬高,但是,如果想要改變border,這樣盒子的大小就會改變,我們就可以將其轉換為IE盒模型,就不用每次計算盒子內容大小了。

  • 在盒子模型中

    • box-sizeing:content-box表示標準盒子模型(預設值)
    • box-sizeing:border-box表示IE盒模型(也就是怪異盒子模型)

除此之外,還有:Flex彈性伸縮盒模型

七題重要CSS面試題

2. display:none與visibility:hidden的差異

這兩個屬性都是讓元素隱藏不可見

差異:

(1)在渲染樹中

  • ##display:none會讓元素完全中渲染樹中消失,渲染的時候不會佔據任何空間;
  • visibility:hidden不會讓元素從渲染樹中消失,渲染的元素還會佔據對應的空間,只是內容不可見
(2)繼承

  • #display:none是非繼承屬性,他的子孫節點會隨著父節點從渲染樹消失,透過修改子孫節點的屬性也無法顯示。
  • visibility:hidden是繼承屬性,子孫節點消失是由於繼承了hidden,透過設定visibility:visible可以讓子孫節點顯示。
(3)修改常規文件流中的元素的

display通常會造成文件的重排,但是修改visibility屬性只會造成本元素的重繪

(4)如果使用讀取螢幕器,設定為

display:none的內容不會被讀取,設定為visibility:hidden的內容會被讀取。 visibility:hidden

3. 說一說CSS的sprite(精靈圖)

概念:

精灵图就是将多个小图片拼接在一个图片中,使用的时候通过background-position元素尺寸调节需要显示的背景图案。

优点:

  • 减少HTTP请求数,在一定程度上提高了页面的加载速度
  • 减少图片的体积,因为每个图片都有一个头信息,把多个图片放在一起,会共用一个头信息,较少了图片的字节数
  • 更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。
  • 减少了图片命名的困扰,只要给一张或几张图片命名即可

缺点:

  • 維護比較麻煩,如果頁面背景有一點改變,就需要修改整個合併的圖片
  • 合併比較麻煩,需要將多張圖片有序的合理的合併為一張圖片,也要預留一定的空間,防止不必要的背景
  • 在寬螢幕或高解析度螢幕下的自適應頁面,如果圖片不夠寬,就可能出現背景斷裂的情況

#4. position的屬性值有哪些?

屬性值 概述
#absolute 生成絕對定位的元素,相對於static定位以外的一個父元素進行定位
relative 產生相對定位的元素,相對於其原來的位置進行定位
fixed 產生絕對定位的元素,相對於瀏覽器視窗進行定位
static 預設值,沒有定位,元素出現在正常的文件流中
inherit 規定從父元素繼承position屬性的值

5. PNG、GIF、JPG、WEBP的差異以及如何選擇?

(1)GIF

  • GIF圖片只儲存8位元索引,最多支援256色,
  • 採用無損壓縮,尺寸較小
  • 支援透明和簡單動畫

適用於:色彩簡單的logo,icon,線框圖,簡單的動畫

(2)JPG

  • 採用有損壓縮,可以控制壓縮的品質
  • 採用直接色,色彩豐富
  • 不支援透明

適用於:色彩豐富的圖片、漸層影像

(3)PNG

  • png-8是採用無損壓縮,以8位元索引色為基礎的點陣圖格式,比gif的透明的支援更好,同等質量下大小也更小,但不支援動畫。適用於圖標,背景,按鈕。
  • png-24採用無損壓縮,是基於直接色的點陣圖格式,大小相對以上幾種更大,但是圖片品質高,適用於原始檔案或需要二次編輯的圖片格式的保存。

(4)WEBP

  • 由Google開發,體積更小
  • 支援有損壓縮和無損壓縮
  • #支援透明和動畫

適用於:支援webp的APP或網頁

##webp 檔案小,支援有損和無損壓縮,支援動畫、透明瀏覽器相容性不好支援webp格式的app和webview
格式 #優點 缺點 適用場景
gif 檔案小,支援動畫、透明,無相容性問題 只支援256種顏色 色彩簡單的logo、icon、動圖
jpg 色彩豐富,文件小 有損壓縮,重複儲存圖片品質下降明顯 顏色豐富的圖片/漸層影像
png 無損壓縮,支援透明,簡單圖片尺寸小 不支援動畫,色彩豐富的圖片尺寸大 logo/icon/透明圖
#6. CSS選擇器有哪些?優先級?

選擇器#格式類別選擇器#id選擇器相鄰兄弟選擇器#子選擇器後位選擇器#通配符選擇器
#p
#myclassname
#myid
h1 p
ul>li
li a
*######### ###屬性選擇器######a[ref=“eee”]#############偽類別選擇器######li:last-child### ##########

如果需要選擇緊接在另一個元素後的元素,而且二者有相同的父元素,可以使用相鄰兄弟選擇器.例如,如果要增加緊接在h1 元素後出現的段落的上邊距,可以這樣寫:

h1 + p {margin-top:50px;}

對於選擇器的優先權

  • 元素選擇器:1
  • class選擇器:10
  • id ​​選擇器:100
  • 元素標籤:1000

需要注意的是:

  • !important宣告的樣式的優先權最高
  • 如果優先權相同,則最後出現的樣式生效
  • 繼承得到的樣式的優先權最低

屬性繼承性:

  • 可以繼承的屬性:font-size、font-family、color
  • 不可以繼承的樣式:border、padding、margin、width、height

# 7. 浮動相關

元素設定為浮動之後,display會自動變成block。

(1)什麼時候需要清除浮動?

浮動造成的問題如下:

  • 父元素的高度無法撐開,影響與父級同級的元素
  • 與浮動元素同級的非浮動元素給予跟隨在它後面
  • 若一個元素浮動,則其前面的元素也需要浮動,否則會影響頁面的結構

(2)如何清除浮動?

清除浮動的方式如下:

  • 給父級p定義height屬性
  • 最後一個浮動元素之後新增一個空的p標籤,並新增clear:both樣式
  • 包含浮動元素的父級標籤新增overflow:hiddenoverflow:auto

#相關教學推薦:CSS影片教學

以上是七題重要CSS面試題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
@KeyFrames CSS:最常用的技巧@KeyFrames CSS:最常用的技巧May 08, 2025 am 12:13 AM

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcsssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingMultatingMultationMultationProperPertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用CombanningWiThjavoFofofofoftofofo

CSS計數器:自動編號的綜合指南CSS計數器:自動編號的綜合指南May 07, 2025 pm 03:45 PM

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他們可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑戰挑戰InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)創造性

使用捲軸驅動動畫的現代滾動陰影使用捲軸驅動動畫的現代滾動陰影May 07, 2025 am 10:34 AM

使用滾動陰影,尤其是對於移動設備,是克里斯以前涵蓋的一個微妙的UX。傑夫(Geoff)涵蓋了一種使用動畫限制屬性的新方法。這是另一種方式。

重新訪問圖像圖重新訪問圖像圖May 07, 2025 am 09:40 AM

讓我們快速進修。圖像地圖一直返回到HTML 3.2,首先是服務器端地圖,然後使用映射和區域元素通過圖像上的單擊區域定義了可單擊區域。

DEV狀態:每個開發人員的調查DEV狀態:每個開發人員的調查May 07, 2025 am 09:30 AM

開發委員會調查現已開始參與,並且與以前的調查不同,它涵蓋了除法:職業,工作場所,以及健康,愛好等。 

什麼是CSS網格?什麼是CSS網格?Apr 30, 2025 pm 03:21 PM

CSS網格是創建複雜,響應式Web佈局的強大工具。它簡化了設計,提高可訪問性並提供了比舊方法更多的控制權。

什麼是CSS Flexbox?什麼是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

文章討論了CSS FlexBox,這是一種佈局方法,用於有效地對齊和分佈響應設計中的空間。它說明了FlexBox用法,將其與CSS網格進行了比較,並詳細瀏覽了瀏覽器支持。

我們如何使用CSS使網站迅速響應?我們如何使用CSS使網站迅速響應?Apr 30, 2025 pm 03:19 PM

本文討論了使用CSS創建響應網站的技術,包括視口元標籤,靈活的網格,流體媒體,媒體查詢和相對單元。它還涵蓋了使用CSS網格和Flexbox一起使用,並推薦CSS框架

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境