`
sdustyongz
  • 浏览: 89643 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

css background-clip background-origin moz

阅读更多
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
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 更简洁。
分享到:
评论

相关推荐

    CSS3教程:background-clip和background-origin

    例如,对于Mozilla Firefox,可以使用`-moz-background-clip`和`-moz-background-origin`;对于Webkit(Safari和Chrome),可以使用`-webkit-background-clip`和`-webkit-background-origin`。需要注意的是,这些...

    认识css3和html5

    然而,早期版本的这些浏览器可能需要使用特定的前缀来启用这些特性,例如`-moz-background-clip`或`-webkit-background-origin`。 #### 实际案例分析 为了更好地理解`background-origin`属性的作用,我们可以通过...

    HTML5+CSS3学习文档

    而CSS3则为样式设计提供了更精细的控制,包括动画、多列布局、新的选择器以及我们在此讨论的`background-clip`和`background-origin`属性。 `background-clip`属性决定了背景图像或颜色渲染的区域。默认情况下,...

    认识CSS3和HTML5.doc

    - `-moz-`:针对基于Mozilla Gecko引擎的浏览器,如Firefox。 - `-webkit-`:针对基于WebKit引擎的浏览器,如Safari和Chrome。 - `-khtml-`:针对基于KHTML引擎的浏览器,如Konqueror。 随着技术的发展,主流浏览器...

    滤镜问题-FireFox火狐浏览器与IE的对比分析

    - `*-moz-background-clip`: 定义背景的裁剪区域。 - `*-moz-background-inline-policy`: 设置背景图片在行内元素上的显示方式。 - `*-moz-background-origin`: 定义背景的位置。 - `*-moz-border-bottom-colors...

    CSS3对背景图片的裁剪及尺寸和位置的设定方法

    背景裁剪 CSS Code复制内容到剪贴板 background-clip:border-box|padding-box|content-box|text  用于指定background是否包含content之外的border,padding。默认值为border-box,即... -moz-background-clip:b

    CSS_3样式.pdf

    -moz-background-size: cover; -o-background-size: cover; background-size: cover; } ``` ##### background-attachment - **描述**:设置背景图像是否固定或者随着页面的其余部分滚动。 - **示例**: ```...

    CSS3新特性1

    需要注意的是,部分CSS3属性在旧版IE中不被支持,可能需要使用像`-moz-`、`-webkit-`这样的前缀来确保在不同浏览器中的兼容性。例如,`box-sizing`在Firefox中需要`-moz-box-sizing`,而`column-count`在IE10+和...

    HTML5 背景的显示区域实现

    在支持CSS3的浏览器中,这个属性可以与其他CSS3属性如`background-size`、`background-origin`和`background-image`结合使用,以实现更复杂的背景设计。 在提供的代码示例中,可以看到一个`div`元素的样式设置,...

    CSS3制作半透明边框(Facebox)类似渐变

    -moz-background-clip: padding; /* Firefox 3.6 */ -webkit-background-clip: padding; /* Safari 4? Chrome 6? */ background-clip: padding-box; /* Firefox 4, Safari 5, Opera 10, IE 9 */ } ``` 这段代码...

    CSS3.0基础知识

    `background-size` 可以改变背景图片的大小,`background-clip` 和 `background-origin` 分别控制背景图片在元素内部的显示范围。此外,`background-image` 可以设置背景图片,`background-repeat` 控制重复,`...

    CSS的私有属性小结(针对FireFox浏览器)

    `-moz-background-clip`控制背景色是否包含边框,`-moz-background-origin`定义背景图像的定位原点,这些属性在CSS3中得到了标准化。 `-moz-border-radius`用于创建圆角,可以单独定义各个角落的半径。`-moz-border-...

    CSS3主要知识点总结+HTML5新标签(图文版).docx

    - 为了支持早期浏览器,CSS3属性通常需要加上特定浏览器的前缀,如 `-moz-`(Firefox),`-webkit-`(Chrome和Safari,但现在大部分已经不再需要),`-ms-`(Internet Explorer)和`-o-`(Opera)。 3. **position...

    CSS3新特性和CSS3教程

    origin, background-clip)、文字渲染(text-rendering)、透明度(opacity)以及选择器增强(如:nth-child(),:hover, :active, :focus, :target等)。这些新特性极大地提高了CSS的灵活性和表现力,使得网页设计...

    【转载】CSS圆角化图片(三)

    在实际项目中,还可能需要结合`box-shadow`、`background-clip`和`background-origin`等属性来创建更复杂的圆角效果,例如内阴影、背景颜色仅填充到内容区而不包括边框等。 综上所述,"【转载】CSS圆角化图片(三)...

    CSS3参考手册 v4.0中文版

    - 背景裁剪和定位:`background-size`、`background-origin`和`background-clip`属性提供了更多控制背景图片的方式。 **5. 文本处理** - `text-shadow`:为文本添加阴影效果。 - `word-wrap` 和 `overflow-wrap`:...

    html5+css3知识点和面试题.pdf

    1. **CSS3前缀**:在早期,不同的浏览器厂商对CSS3特性支持不同,因此需要添加特定的前缀如`-webkit-`, `-moz-`, `-ms-`, `-o-`来确保跨浏览器兼容性。例如,`-webkit-border-radius`用于Chrome和Safari,`-moz-...

    CSS3.0参考手册

    但是它们的浏览器支持并不一致,存在很多前缀,比如`-webkit-`(针对Chrome和Safari)、`-moz-`(针对Firefox)、`-o-`(针对Opera)等,这些前缀被用来为早期版本的浏览器提供对CSS3新特性的支持。 对于初学者来说...

Global site tag (gtag.js) - Google Analytics