background-origin与background-clip的“区别”

css3新增了一些背景相关的属性,其中background-origin与background-clip是比较让人困惑的:

background-origin:用于指定绘制背景图片的起点。默认值:padding-box。
background-clip:用于指定背景图片的显示范围。默认值:border-box。

它们的都有这三个属性值:border-box padding-box content-box

那么区别在哪里呢?

先来看一个简单的小例子:

.box {
  width: 199px;
  height: 100px;
  background-color: rgba(0,0,0,1);
  border: 40px solid rgba(255,0,0,0.6);
  padding: 40px;
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}

发现了没有,此时的边框颜色有点偏暗,它受了黑色背景的影响。为什么背景颜色是从边框开始的呢,
这里就要提到background-clip属性,它的默认值就是border-box。

如果我们修改background-clip的值分别为padding-box与content-box:

相信上面的例子已经让你对clip有了了解,如果你用过photoshop的剪切蒙版,那么一定会觉得这个单词很形象~~~

background-image的情况类似:(默认background-repeat:repeat)


               (1)                                     (2)                                      (3)
但当background-repeat为no-repeat时,你发现第一张图的background是从左上角的padding开始,
一直到又下角的border。这可能在你意料之外。


             (4)                                    (5)                                       (6)

观察上面这6张图,你还发现了什么?对,它们背景图片的起始位置都是在左上角的padding。
这就是因为background-origin的默认值为padding-box的缘故了。下面我们就来看看这个属性。

这里都是默认了背景重复,至于不重复的情况,这里不再赘述。这9张图,很明显得告诉了我们background-origin的作用。它用来设置容器的背景图片从容器的哪里作为起始位置,至于显示不显示的问题,那就是background-clip的事了。

我们也可以控制背景图片不从0 0左上角开始显示,修改background-positon的位置即可。

如图:我们设置background-position:bottom right;

当设置background-position:center时,background-origin三个值的效果相同:


最后需要注意的一点是,当设置了background-attachment:fixed,background-origin无效。

现在,你应该已经发现,background-clip与background-origin其实是两个完全不同的属性。

时间: 2024-10-05 23:26:57

background-origin与background-clip的“区别”的相关文章

css3-background clip 和background origin

1.background-origin background-origin 里面有3个参数 : border-box | padding-box | content-box; border-box,padding-box,content-box从边框,还是内边距(默认值),或者是内容区域开始显示. 代码演示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>

compass模块

Compass核心模块Reset :重置CSS模块 @import "compass/reset" Layout :页面布局的控制能力 @import "compass/layout" 只有这两个模块是需要明确 指定引入的@import "compass"默认包含了其他五大模块却不包含resrt,layout 其他四个功能模块和Browser support模块CSS3:跨浏览器的CSS3能力Helpers:内含一系列的函数,跟SASS的函数列表

Android的ImageView中的android:src和android:background的区别

http://www.androidren.com/index.php?qa=301&qa_1=android的imageview中的android-src和android-background的区别 有下面几个不同点: 1.src是前景foreground.background是后景background. 2.src是显示内容,background是背景. 3.background是所有view都有的属性,而src是ImageView特有的,它会受到android:scaleType的影响,而

css中 background设置

css2中有五个与背景相关的属性.它们是: background-color:完全填充背景的颜色 background-image:用作背景的图片 background-position:确定背景图片的位置 background-repeat:确定背景图片是否重复铺平 background-attachment:确定背景图片是否随页面滚动                                                                                

CSS3详解:background

CSS3对于background做了一些修改,最明显的一个就是采用设置多背景,不但添加了4个新属性,并且还对目前的属性进行了调整增强. 1.多个背景图片 在css3里面,你可以再一个标签元素里应用多个背景图片.代码类似与css2.0版本的写法,但引用图片之间需用“,”逗号隔开.第一个图片是定位在元素最上面的背景,后面的背景图片依次在它下面显示,如下: background-image: url(top-image.jpg), url(middle-image.jpg), url(bottom-i

css2和CSS3的background属性简写

1.css2:background:background-color || url("") || no-repeat || scroll || 0 0;  css3:  background: url("") || 0 0/cover || no-repeat || scroll || border-box || content-box || black; CSS2中的Background属性: background: background-color || bac

UWP -- Background Task 深入解析

原文:UWP -- Background Task 深入解析 1. 重点 锁屏问题 从 Windows 10 开始,用户无须再将你的应用添加到锁屏界面,即可利用后台任务,通用 Windows 应用必须在注册任何后台触发器类型之前调用 RequestAccessAsync: await BackgroundExecutionManager.RequestAccessAsync(); 资源限制 由于对于内存较低的设备的资源约束,后台任务可能具有内存限制,该限制决定了后台任务可以使用的内存上限 在内存

css background 背景知识详解

background 背景属性 我们知道元素有前景色color,与之对应的还有背景色,通过background我们可以为元素添加实色(background-color)和任意多个背景图片(background-image). css 背景常见属性 background-color background-position background-size background-repeat background-origin background-clip background-attachment

Android background tint颜色渲染

该篇文章主要是讲Android颜色渲染,首先先来看看PorterDuff,对绘图非常重要. PorterDuff的由来: 相信大多数人看到这个ProterDuff单词很奇怪了吧,这肿么个意思呢,然后就用有道啊,金山啊开始翻译,但是翻译软件给出的结果肯定还是 ProterDuff或者"未找到". 这是神马情况呢?因为ProterDuff是两个人名的组合: Tomas Proter和 Tom Duff. 他们是最早在SIGGRAPH上提出图形混合概念的大神级人物.有兴趣的童靴们可以自己查下

background属性总结,background-image路径问题

(1)background属性总结 background 简写属性在一个声明中设置所有的背景属性. 可以设置如下属性:background-color规定要使用的背景颜色.background-position规定背景图像的位置.background-size规定背景图片的尺寸.background-repeat规定如何重复背景图像.background-origin规定背景图片的定位区域. background-origin: padding-box|border-box|content-bo