CSS

CSS3與背景相關的樣式

字號+ 編輯: Snake 修訂: 科学鼠辈 來源: 慕课网 2023-09-11 我要說兩句(0)

本文給大家介紹CSS3裡面與背景相關的樣式,包括背景圖片的起始位置、裁剪、設置大小以及多重背景等

1、background-origin

設置元素背景圖片的原始起始位置。

語法:

background-origin : border-box | padding-box | content-box;

參數分別表示背景圖片是從邊框,還是内邊距(默認值),或者是内容區域開始顯示。

 圖片6.jpg

需要注意的是,如果背景不是no-repeat,這個屬性無效,它會從邊框開始顯示。

2、background-clip

用來將背景圖片做適當的裁剪以適應實際需要。

語法:

background-clip : border-box | padding-box | content-box | no-clip

參數分別表示從邊框、或内填充,或者内容區域向外裁剪背景。

no-clip表示不裁切,和參數border-box顯示同樣的效果。backgroud-clip默認值爲border-box。

效果如下圖所示:

 圖片8.jpg 

<style type="tet/css">
    .wrap{
        width:220px;
        border:20px dashed #000;
        padding:20px;
        font-weight:bold;
        color:#000;
        background:#ccc url(1.png)no-repaet;
        background-origin:border-box;
        background-clip:padding-box;
        position:relative;
    }
</style>

微信截圖_20210702234833.png

3、background-size

設置背景圖片的大小

以長度值或百分比顯示,還可以通過cover和contain來對圖片進行伸縮。

語法:

background-size: auto | <長度值> | <百分比> | cover | contain

取值說明:

auto:默認值,不改變背景圖片的原始高度和寬度;

<長度值>:成對出現如200px 50px,將背景圖片寬高依次設置爲前面兩個值,當設置一個值時,將其作爲圖片寬度值來等比縮放;

<百分比>:0%~100%之間的任何值,將背景圖片寬高依次設置爲所在元素寬高乘以前面百分比得出的數值,當設置一個值時同上;

cover:顧名思義爲覆蓋,即將背景圖片等比縮放以填滿整個容器;

contain:容納,即將背景圖片等比縮放至某一邊緊貼容器邊緣爲止。

<!DOCTPE HTML>
<html>
    <head>
        <meta charset="utf-8">
        <title>背景圖片大小</title>
        <style type="text/css">
        .demo{
            background:url(#)no-repaet;
            width:300px;
            height:140px;
            border:1px solid #999;
            background-size:100%
        }
        </style>
    </head>
    <body>
        <div class="demo"></div>
    </body>
</html>

4、multiple backgrounds

多重背景

也就是CSS2裡background的屬性外加origin、clip和size組成的新background的多次曡加,縮寫時爲用逗號隔開的每組值;用分解寫法時,如果有多個背景圖片,而其他屬性只有一個(例如background-repeat只有一個),表明所有背景圖片應用該屬性值。

語法縮寫如下:

background : [background-color] | [background-image] | [background-position][/background-size] | [background-repeat] | [background-attachment] | [background-clip] | [background-origin],...

可以把上面的縮寫拆解成以下形式:

background-image:url1,url2,...,urlN;
background-repeat : repeat1,repeat2,...,repeatN;
backround-position : position1,position2,...,positionN;
background-size : size1,size2,...,sizeN;
background-attachment : attachment1,attachment2,...,attachmentN;
background-clip : clip1,clip2,...,clipN;
background-origin : origin1,origin2,...,originN;
background-color : color;

注意:

用逗號隔開每組 background 的縮寫值;

如果有 size 值,需要緊跟 position 並且用 "/" 隔開;

如果有多個背景圖片,而其他屬性只有一個(例如 background-repeat 只有一個),表明所有背景圖片應用該屬性值。

background-color 只能設置一個。

舉例:

有三張單獨的圖片:

 圖片11.jpg

使用多背景技術實現:

 圖片12.jpg

具體代碼實現,查看12-16行)。

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8">
<title>多重背景</title>
<style type="text/css">
.demo{
    width: 300px;
    height: 140px;
    border: 1px solid #999;
    background-image: url(http://img.mukewang.com/54cf2365000140e600740095.jpg),
                url(http://img.mukewang.com/54cf238a0001728d00740095.jpg),
                url(http://img.mukewang.com/54cf23b60001fd9700740096.jpg);
    background-position: left top, 100px 0, 200px 0;
    background-repeat: no-repeat, no-repeat, no-repeat;
    margin:0 0 20px 0;
}
.task {
    width: 300px;
    height: 140px;
    border: 1px solid #999;
    background:url(1) no-repeat,
         url(1.png) no-repeat;
         background-position:left top,150px 60px;            
}
</style>  
</head> 
<body>
<div class="demo"></div>
<div class="task"></div>
</body>
</html>

閲完此文,您的感想如何?
  • 有用

    1

  • 沒用

    1

  • 開心

    1

  • 憤怒

    1

  • 可憐

    1

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 多個高度相同, 屬性inline-block的div,有的div沒有内容而有的div有内容,有内容的會下沉?

  • 讓整個網頁全局變成黑白色調的css代碼

  • CSS生成内容

  • CSS3外輪廓屬性

我要說說
網上賓友點評