CSS3背景属性background-origin与background-clip区别与联系

CSS3 包含多个新的背景属性,它们提供了对背景更强大的控制。
先来看看w3c对background-origin与background-clip的定义:

background-origin 属性规定背景图片的定位区域。

background-clip 属性规定背景的绘制区域(其实我个人认为换成裁剪可能更好理解)。

它们的属性值都是border-box、padding-box、content-box.

语法

background-origin:padding-box\border-box\content-box
描述
padding-box 背景图像相对于 内边距来定位
border-box 背景图像相对于边框和来定位
content-box 背景图像相对于内容框来定位
background-clip:padding-box\border-box\content-box
描述
border-box 背景被裁剪到边框盒
padding-box 背景被裁剪到内边距框
content-box 背景被裁剪到内容框

background-origin 属性只能控制背景图像的表现,不能控制背景色的表现。背景色始终是从元素的边框开始显示。当background-origin的值为content-box时,会让背景图片的左上角和内容框左上角对齐;值为padding-box时,则会让背景图片的左上角和内边距的左上角对齐。值为border-box时,会让背景图片的左上角和边框的左上角对齐。可见background-origin的值的确是决定背景图片开始从哪个区域开始显示。

原图:
CSS3背景属性background-origin与background-clip区别与联系
border-box:
CSS3背景属性background-origin与background-clip区别与联系
padding-box(默认值):
CSS3背景属性background-origin与background-clip区别与联系
content-box:
CSS3背景属性background-origin与background-clip区别与联系
background-clip 属性决定的是背景图片被剪切出来显示的部分。当background-clip的值为content-box时,只有content区域的内容看得见,在content之外的图片内容都被隐蔽掉了。值为padding-box时,则在padding之外的图片内容都被隐蔽掉了。

border-box(默认值)::
CSS3背景属性background-origin与background-clip区别与联系
padding-box:
CSS3背景属性background-origin与background-clip区别与联系
content-box:
CSS3背景属性background-origin与background-clip区别与联系
这两个属性通常可以搭配使用