站長資訊網
        最全最豐富的資訊網站

        七道重要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或網頁

        格式 優點 缺點 適用場景
        gif 文件小,支持動畫、透明,無兼容性問題 只支持256種顏色 色彩簡單的logo、icon、動圖
        jpg 色彩豐富,文件小 有損壓縮,反復保存圖片質量下降明顯 色彩豐富的圖片/漸變圖像
        png 無損壓縮,支持透明,簡單圖片尺寸小 不支持動畫,色彩豐富的圖片尺寸大 logo/icon/透明圖
        webp 文件小,支持有損和無損壓縮,支持動畫、透明 瀏覽器兼容性不好 支持webp格式的app和webview

        6. CSS選擇器有哪些?優先級?

        選擇器 格式
        標簽選擇器 p
        類選擇器 #myclassname
        id選擇器 #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:hidden或者overflow: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或網頁

        格式 優點 缺點 適用場景
        gif 文件小,支持動畫、透明,無兼容性問題 只支持256種顏色 色彩簡單的logo、icon、動圖
        jpg 色彩豐富,文件小 有損壓縮,反復保存圖片質量下降明顯 色彩豐富的圖片/漸變圖像
        png 無損壓縮,支持透明,簡單圖片尺寸小 不支持動畫,色彩豐富的圖片尺寸大 logo/icon/透明圖
        webp 文件小,支持有損和無損壓縮,支持動畫、透明 瀏覽器兼容性不好 支持webp格式的app和webview

        6. CSS選擇器有哪些?優先級?

        選擇器 格式
        標簽選擇器 p
        類選擇器 #myclassname
        id選擇器 #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:hidden或者overflow:auto

        相關教程推薦:CSS視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久精品国产免费一区| 国产精品无码久久久久| 国产精品1024视频| 久久精品国产亚洲AV电影| 午夜精品一区二区三区在线观看 | 欧洲精品99毛片免费高清观看| 国产一区二区三区欧美精品| 久久久久夜夜夜精品国产| 国产精品亚洲а∨无码播放| 亚洲精品成人网站在线观看| 无码人妻精品一区二区三区99不卡 | 日产精品久久久久久久性色| 欧美ppypp精品一区二区| 国产精品亚洲不卡一区二区三区| 国产精品日本一区二区不卡视频 | 亚洲国产精品va在线播放| 女人高潮内射99精品| 精品久久久久久久久久中文字幕| 国产精品成人精品久久久| 久久精品国产91久久麻豆自制 | 久久99精品国产麻豆蜜芽| 青青草精品视频| 国产精品91视频| 大伊香蕉精品一区视频在线| 国产精品无圣光一区二区| 精品亚洲成a人片在线观看| 午夜精品久久久久久毛片| 亚洲精品国产日韩无码AV永久免费网| 久久性精品| 日韩精品无码久久一区二区三| 久久国产午夜精品一区二区三区 | 99热日韩这里只有精品| 91麻豆精品国产91久久久久久| 久热这里只精品99re8久| 日本精品久久久中文字幕| 亚洲国产精品线在线观看| 99热成人精品免费久久| 国内精品久久久久久麻豆| 久久久不卡国产精品一区二区| 欧美精品在线免费| 区亚洲欧美一级久久精品亚洲精品成人网久久久久|