文章出處

先不說background-clip/background-origin的用法,我們先來聊聊css背景方面的知識。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>css背景知識點</title>
 6     <style>
 7         body,p{
 8             margin:0;
 9             padding:0;
10         }
11         p{
12             width:100px;
13             height:100px;
14             background-color:pink;
15         }
16     </style>
17 </head>
18 <body>
19     <p></p>
20 </body>
21 </html>

現在p的寬和高各是100px,顏色的范圍也是100*100的對吧,如果給它加上padding-top:10px呢?那么現在的高是110,顏色的背景是100*110對不?

因為背景是包括padding的,這對理解為什么需要使用background-clip和background-origin至關重要。

透露一下,大部分情況會使用在有用精靈圖的背景上。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>css背景知識點</title>
 6     <style>
 7         body,p{
 8             margin:0;
 9             padding:0;
10         }
11         .box{
12             width:100%;
13             height:45px;
14             line-height:45px;
15             background-color:#ccc;
16             
17         }
18         p{
19             width:42px;
20             height:40px;
21             margin:0 auto;
22             background-size:50px 50px;
23             background:url("focus-icon.png") no-repeat 0 -50px;
24         }
25     </style>
26 </head>
27 <body>
28     <div class="box">
29         <p></p>
30     </div>
31 </body>
32 </html>

效果圖

我現在想讓中間的愛心Y方向向下移動一點,我給p標簽加上padding-top:10px;

效果如下

它并沒有向下移動而是高度多出了一些,如果你理解了我上面說的,那你應該可以理解這個。

之所以會這樣是因為背景包括了padding。但是我們現在并不想這樣,那就可以用css3的屬性background-clip,這是一個裁剪屬性

加上background-clip:content-box;就可以了,什么意思呢?就是說從內容開始計算背景,那么就不會包括padding了。

應該懂了吧?

那么background-origin什么意思呢?

 

不知道你們有沒有方向一個現象,就是我們使用精靈圖的時候默認圖片會顯示在左上角。

如果你想改變它的位置就可以使用background-oringin

如果想從中間開始,那就設置成background-oringin:content-box;

當然還有其他的一些屬性,你們可以去網上查一下。

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()