CSS3教程:background-clip和background-origin

互联网   发布时间:2008-10-17 19:22:43   作者:佚名   我要评论
原文:http://www.planabc.net/2008/04/14/background-clip_background-origin/ background-clip 和 background-origin 是 CSS3 中新加的 background module 属性,用来确定背景的定位。 background-clip 用来判断 background 是否包含 border 区域。而 background-or

下面举个运用 background-origin 属性的简单例子,效果如下图:
运行代码框

[Ctrl A 全部选择 提示:你可先修改部分代码,再按运行]


HTML 部分:
<button>这里是按钮,是钮不是妞</button>
CSS 部分(详细见注释):
button {
display:inline-block;/*触发hasLayout*/
height:26px;
padding:0 20px;
cursor:pointer;
*overflow:visible;/*消除IE按钮左右padding随字数长度变化的BUG*/

border:3px double #95071b;/*用3px 双边来模拟设计图中的白线*/
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;

/*修正IE6下高度问题*/
_padding-top:2px;
_line-height:14px;
}

不足之处:此效果在 Opera 下无法实现。
当然这只是一种对 HTML 代码有洁癖的解决方法(限于对 background-clip 和 background-origin 属性的学习和理解),当然也可尝试其他方法,也许会使 CSS 更简洁,至于各种方法的优缺点自己衡量。
扩展阅读:
《Background and Border》
点击这里返回 网页制作 栏目

相关文章

最新评论