CSS3教程:background-clip和backg…
2014-06-06 11:19
295 查看
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]]*
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
对于 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
下面举个运用 background-origin 属性的简单例子,效果如下图:
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
HTML 部分:
[/code]
CSS 部分(详细见注释):
[/code]
属性,用来确定背景的定位。
background-clip 用来判断 background 是否包含 border 区域。而
background-origin 用来决定 background-position 计算的参考位置。
语法为:
background-clip: [border | padding] [, [border |
padding]]*
background-origin: [border | padding | content] [, [border |
padding | content]]*
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
对于 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
下面举个运用 background-origin 属性的简单例子,效果如下图:
![](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
HTML 部分:
[code]<button>这里是按钮,是钮不是妞</button>
[/code]
<button>这里是按钮,是钮不是妞</button>
CSS 部分(详细见注释):
[code]button {
display:inline-block; height:26px; padding:0 20px; cursor:pointer; *overflow:visible; border:3px double #95071b; border-right-color:#650513; border-bottom-color:#650513; background-color:#95071b; -moz-background-clip:padding; -webkit-background-clip:padding; -khtml-background-clip:padding; -moz-background-origin:padding; -webkit-background-origin:padding; -khtml-background-origin:padding; background-clip:padding; background-origin:padding; color:#fff; font-size:12px; line-height:20px; _padding-top:2px; _line-height:14px; }
[/code]
相关文章推荐
- 深入浅出CSS3:background-clip,background-origin和border-image教程
- 深入浅出CSS3 background-clip,background-origin和border-image教程
- 深入浅出CSS3:background-clip,background-origin和border-image教程
- CSS3教程:background-clip和background-origin
- 深入浅出CSS3:background-clip,background-origin和border-image教程
- CSS3简明教程-3.1.CSS3背景之 绘制区域background-clip
- 深入浅出CSS3:background-clip,background-origin和border-image教程
- 深入浅出CSS3 background-clip,background-origin和border-image教程
- CSS3 background-clip 属性和 box-sizing 属性
- css3属性中background-clip与background-origin的用法释疑
- css3属性中background-clip与background-origin的用法释疑
- CSS3中background-origin和background-clip的区别
- CSS3---background-clip
- Css3-background-clip
- css3之background-origin和background-clip的区别与联系
- 【CSS3】background-clip
- CSS3 Background-clip
- 在css3中background-clip属性与background-origin属性的用法介绍
- css3 学习笔记 backgriound-origin 与 background-clip
- css3之background-clip