原文:http://www.planabc.net/2008/04/14/background-clip_background-origin/
background-clip 和 background-origin 是 css3 中新加的 background module 属性,用来确定背景的定位。
background-clip 用来判断 background 是否包含 border 区域。而 background-or
原文:http://www.planabc.net/2008/04/14/background-clip_background-origin/
background-clip 和 background-origin 是 css3 中新加的 background module 属性,用来确定背景的定位。
background-clip 用来判断 background 是否包含 border 区域。而 background-origin 用来决定 background-position 计算的参考位置。
语法为:
background-clip: [border | padding] [, [border | padding]]*
background-origin: [border | padding | content] [, [border | padding | content]]*
对于 background-clip:
如果是 padding 值,则 background 忽略 padding边缘,border 是透明的。如果是 border 值,则background 包括 border 区域。如果 background-image 图片有多个,对应的 background-clip 值之间用逗号分隔。
对于 background-origin:
如果是 padding 值,则 position 相对于 padding 边缘(0 0 为 padding 边缘的左上角,而 100% 100% 为右下角)。如果是 border 值,则意味着相对 border 边缘。而 border 值则相对于内容边缘。与 background-clip 相同,多个值也用逗号分隔。如果 background-clip 是 padding 值,background-origin 是 border 值,并且 background-position 是 top left(默认初始值),则背景图左上角将会被截取掉部分。
这两个属性仅从 css3 才出现,在未使用该属性 background module 中的默认表现又如何呢?
background-clip 默认类似于 background-clip:border。
background-origin 默认类似于 background-origin:padding。
但 ie 又是特例 (it sucks)。
在 ie6 、ie7 中,一般元素(button 等除外)的背景相当于:background-clip:border; background-origin:border;
而 haslayout 的元素(加上 button 等)的背景则相当于:background-clip:padding; background-origin:padding;
这一对 css3 属性已在 mozilla, safari 3 和 konqueror 等浏览器中实现,不过都是通过其私有属性的表达方式。
引用:
基本非 ie 的浏览器的私有属性一般都会以 -xxx- 这样开始,-o-就是以 presto 为引擎的 opera 私有的、-icab- 是 icab 私有的,-khtml- 是以 khtml 为引擎的浏览器(如 konqueror safari)、-moz- 就是以 mozilla 的 gecko 为引擎的浏览器(如firefox,mozilla)、-webkit- 就是以 webkit 渲染引擎(是 khtml 的衍生产品)的浏览器(如 safari、swift)。
即支持的私有属性分别为:
moz-background-clip
webkit-background-clip
khtml-background-clip
moz-background-origin
webkit-background-origin
khtml-background-origin
以上就是css3教程:background-clip和background-origin的详细内容。