關於background-size屬性和圖片自適應的理解


一、background-size:設定背景圖像的尺寸。

瀏覽器支持的程度:IE9+, Firefox4+, opera, chrome, safari5+;

基本語法:background-size: length | percentage | cover | contain; 

1:length

    該屬性值是設置背景圖像的寬度和高度的,第一個值是寬度,第二個值是設置高度的。如果只設置第一個值,那么第二個值會自動轉換為 “auto”;

2:percentage

     該屬性是以父元素的百分比來設置圖片的寬度和高度的,第一個值是寬度,第二個值是高度。如果只設置一個值,那么第二個值會被設置為 “auto”;

3:cover

      把背景圖像擴展至足夠大,以使背景圖像完全覆蓋背景區域。

4:contain

      把圖像擴展至最大尺寸,以使寬度和高度完全適應內容區域。 

理解:

背景圖需給父元素設置固定寬高。

length、percentage可以理解為手動設置背景圖的尺寸。length是具體值,percentage是父元素百分比(圖片寬高比會變化)

cover 如果圖片不足以覆蓋背景區域,延展圖片使其完全覆蓋背景區域。(圖片寬高比不變)

contain 延展圖片,使其一邊到達區域邊緣即停止。(圖片寬高比不變)如果寬度先到達,等同於background-size:100% auto

 

cover與contain的異同:

相同:都不改變圖片比例,延展圖片。

不同:contain延展到一邊到達區域邊緣即停止,cover會繼續延展至另一邊也到達區域邊緣。

 

二、圖片自適應

有些場景想要圖片高度自適應,比如網站頭部寬度100%的banner圖,如果用背景圖,要么變形,要么覆蓋不全。

可以通過使用圖片,並設置寬度100%來自適應解決。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            .column {
                width: 100%;
            }
            .figure {
                width: 100%;
            }
        </style>
    </head>
    <body>
        <div class="column">
            <img class="figure" src="img/1.jpg"/>
        </div>
    </body>
</html>

 

三、響應式背景圖(效果等同於二、圖片自適應)

原理:使用padding-top:(percentage)把背景區域撐開,實現響應式背景圖片

padding-top = (高度 / 寬度 )* 100%
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            .column {
                width: 100%;
            }
            .figure {
                padding-top: 30.85%;/* (寬/高) */
                background: url("img/1.jpg") no-repeat;
                background-size: cover;/* 背景鋪滿元素 */
                background-position: center;/* 兼容ie8及以下 */
            }
        </style>
    </head>
    <body>
        <h3>使用padding-top實現響應性圖片</h3>
        <div class="column">
            <div class="figure"></div>
        </div>
    </body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM