在css3中,相信大多人都知道,css3增加了一些新的背景属性:比如:background-origin、background-size、background-clip属性,在以往的css中,关于css的background属性,大家应该都已经很熟悉了,因为background是使用率很高的一个属性。我们知道,css3之前的背景属性包括有:

1、background-color(背景颜色)
2、background-image(背景图片)
3、background-repeat(背景铺放方式)
4、background-attachment(背景固定或者滚动设置)
5、background-position(背景图片定位)

那么,本文今天要说明的是css3的background-origin

css3背景原点属性background-origin

css3背景原点属性主要是用来规定 background-position属性相对于什么位置来定位的,即决定背景图片定位的起点,默认值为padding-box,更简单一点说就是,background-origin可以决定背景是从哪个区域开始绘制的(从border、padding或content区域)。

语法

background-origin :padding-box | border-box | content-box

取值说明

padding-box:背景图像相对于内边距框来定位。
border-box:背景图像相对于边框盒来定位。
content-box:背景图像相对于内容框来定位。

在看background-origin示例之前,我们先来看一下background-image默认是从什么位置填充元素的,示例代码如下:

html:

<div class="ui-bg ui-bg-image"></div>

css:

.ui-bg{
     width: 290px; 
     height: 178px; 
     border-radius: 5px; 
     border:10px solid rgba(0,0,0,0.4); 
     margin: 10px;
}
.ui-bg-image{
     background:url(/demo/source/origin.png) no-repeat; 
}

效果:

从图中可以看出,background-image, 默认是从元素的padding左上角到边框边缘的右下角的。默认的起始位置是从padding开始的。而background-origin刚好可以改变它的位置(background-position)。下面看demo:

以下是demo图片的css基础代码为:

  .bg{ 
    width: 300px; 
    height: 188px; 
    border-radius: 5px; 
    border:10px solid rgba(0,0,0,0.3); 
    padding: 20px; 
    background:url(origin.png) no-repeat; 
    margin: 10px;
  }
  .bg p{ 
    background: rgba(0,0,0,0.5); 
    height: 50px; 
    color: #fff; 
    font-weight: 600; 
    font-size: 18px;
  }
  .origin-1{
    -webkit-background-origin: padding-box;
    -moz-background-origin: padding-box;
    background-origin: padding-box;
  }
  .origin-2{
    -webkit-background-origin: border-box;
    -moz-background-origin: border-box;
    background-origin: border-box;
  }
  .origin-3{
    -webkit-background-origin: content-box;
    -moz-background-origin: content-box;
    background-origin: content-box;
  }

html:

<div class="bg origin-1">
   <p>我是内容区域</p>
</div>
<div class="bg origin-2">
   <p>我是内容区域</p>
</div>
<div class="bg origin-3">
    <p>我是内容区域</p>
</div>

1、background-origin :padding-box

因为background-origin默认值为padding-box ,那么这时背景图片是从padding的起始位置开始定位,也就是下图中红线的地方(给上面那个例子一样)。


2、background-origin :border-box

这时背景图片是从边框盒(我们的css设置的border宽度为10px,透明的)的边缘位置开始定位,也就是下图中红线的地方。

3、background-origin :content-box

这时背景图片是从内容框的起始位置开始定位,也就是下图中红线的地方

以上就是个人之前练习的关于css3背景原点属性background-origin的实例说明,稍微整理写下的笔记,如有不对的地方请指出!