1. 程式人生 > >CSS3 background-orgin與 background-clip的區別

CSS3 background-orgin與 background-clip的區別

最大的區別為:background-orgin是指圖片從座標系的那個位置展開。而background-clip 是指圖片覆蓋的區域,以外的區域將被剪掉看不到。

1. background-orgin

origin 有起源的含義:在CSS3中background-position指從座標系的那個位置開始展開,一般圖片展開的時候是從內邊距開始展開的,但是在有時候我們想讓從照片從外邊框開始展開就可以用到background-origin這個屬性,其中有三個引數:分別為border-box, padding-box, content-box。 

border-box 是這指圖片從外邊框開始展開,padding-box 是指圖片從內邊距處開始展開圖片,content-box是指圖片從內容處開始展開圖片。 當內邊距(padding)為0時,padding-box 與content-box 一樣。

在這我寫了一個例子,有一個粉絲的背景以便於,大家能看到效果,有一個寬的外邊距,背景圖片不平鋪,可以看一下效果就一目瞭然了。

  div{
            width: 100px;
            height: 100px;
            background-image: url("./bdad.png");
            background-repeat: no-repeat;
            padding: 50px;
            border: 30px dashed pink;
            background-color: darkred;
            display: inline-block;
        }
        .box1{
            background-origin: content-box;
        }
        .box2{
            background-origin: padding-box;
        }
        .box3{
            background-origin: border-box;
        }

    
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>

2. background-clip

clip有剪掉的含義,在CSS3中background-clip代表圖片從那個位置可以看到,其他區域將被剪掉,也就看不到了,這個屬性可以用到我們使用精靈圖(雪碧圖)時使用。它有三個引數分別為: content-box , padding-box, border-box

content-box 是指從內容以外的區域將被剪掉看不到了,padding-box 是指從padding值以外的區域被剪掉看不到了,border-box 是指從外邊距以外被剪掉看不到了

在這裡我舉個例子 

 div{
            width: 100px;
            height: 100px;
            border: 20px dashed #eee;
            background-color: darkred;
            background: url("abc.jpg");
            background-repeat: no-repeat;
            display: inline-block;
            padding: 30px;
        }
        .box1{
            background-clip:content-box ;
        }
        .box2{
            background-clip:padding-box ;
        }
        .box3{
            background-clip:border-box ;
        }
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>

 

結果顯示content-box 從內容以外的背景都看不到了,padding-box 從padding以外的背景都看不到了,border-box從外邊距以外的背景都看不到了