css3 background-clip background-origin属性详解

好久没写样式,前2天有个新来的同事问我background-clip这个css3 的属性,我当时只记这个是裁剪,具体怎么裁剪已经忘记了,找了下资料整理下方便以后记忆,它有三个属性:

1.border-box

一.background-clip

这个看上去有点像box-sizing的属性,其实不是,border-box是默认值,大概意思是背景延伸到border的外边缘。看下面代码

    <style>
    .test{
        width: 300px;
        height: 300px;
        border: 10px dotted #aaa;
        background-color: yellow;
        margin:100px auto;
        padding: 20px;
        background-clip:border-box;    
    }  
    </style>
</head>
<body>
    <div class="test">
    </div>
</body>

效果如下(背景延伸到border的外边缘):
在这里插入图片描述

二.background-origin

<style>
    .test {
        width: 300px;
        height: 300px;
        padding: 20px;
        border: 10px dotted #aaa;
        margin: 100px auto;
        background-repeat:no-repeat;
        background-image: url('1.png');
        background-origin: padding-box;
        background-size: cover;
    }
</style>
</head>

<body>
    <div class="test">
    </div>
</body>

背景图是以border为起点
在这里插入图片描述
效果是一样的,都是在border外边缘显示

2.content-box
一.background-clip

box-sizing也有这个属性,背景剪切到内容区域,上面代码内容区域是300X300,所以300之外的区域都被剪切了。
效果如下:
在这里插入图片描述

二.background-origin
<style>
    .test {
        width: 300px;
        height: 300px;
        padding: 20px;
        border: 10px dotted #aaa;
        margin: 100px auto;
        background-repeat:no-repeat;
        background-image: url('1.png');
        background-origin: padding-box;
        background-size: cover;
    }
</style>
</head>

<body>
    <div class="test">
    </div>
</body>

背景是以content内容为起点
在这里插入图片描述

3.padding-box

一.background-clip

顾名思义就是在还包括padding区域,不包括border,所以是content-box+padding。
效果如下:
在这里插入图片描述

二.background-origin

背景图以padding为起点,不包括border

<style>
    .test {
        width: 300px;
        height: 300px;
        padding: 20px;
        border: 10px dotted #aaa;
        margin: 100px auto;
        background-repeat:no-repeat;
        background-image: url('1.png');
        background-origin: padding-box;
        background-size: cover;
    }
</style>
</head>

<body>
    <div class="test">
    </div>
</body>

</body>

在这里插入图片描述

这个两个属性是css3的属性,浏览器兼容范围 chrome15+、IE9+、Edge12+、Firefox4+、Opera11.5+、Safari7+。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章