Skip to content

CSS3 新增背景属性

旧标准已有的背景属性:

css
background-color
background-image
background-repeat
background-position
background-attachment
background: transparent; // 设置背景颜色透明

新增属性

① background-origin

该属性可以设置背景图像定位的原点,属性值如下:

css
padding-box		原点在内边距上左上角,默认值
border-box		原点在边框上左上角
content-box		原点在内容上左上角

② background-clip

该属性可以设置背景图像的显示区域,属性值如下:

css
border-box		显示在边框以及以内,默认值
padding-box		显示在内边距以及以内
content-box		显示在内容区域
text			指显示在文本上,chrome浏览器需要私有前缀

③ background-size

该属性可以设置背景图像的尺寸,属性值设置规则如下:

css
1. 设置两个长度,分别表示背景图像的宽度和高度
2. 设置一个长度,表示背景图像的宽度,高度根据比例自动计算
3. 关键字 contain 表示背景图像尺寸自动适配元素,优先保证背景图像显示完整
4. 关键字 cover 表示背景图像尺寸自动适配元素,优先保证元素上铺满该背景图,可能造成背景图像显示不完整。
css
<length>: 用长度值指定背景图像大小。不允许负值。 
<percentage>: 用百分比指定背景图像大小。不允许负值。 
auto: 背景图像的真实大小。 
cover: 将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。 
contain: 将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。

background 复合属性

css
1. content-box/padding-box/border-box 这样的值在复合属性中设置一个,同时设置 origin 和 clip
   这样的值如果设置了两个,第一个是 origin 第二个是 clip
2. background-size 的值必须写在 position 的后面,使用 / 分隔
css
/* content-box 同时设置了 origin 和 clip */
background: url(../images/jd001.jpg) content-box;

/* origin的值是content-box, clip的值是padding-box */
background: url(../images/jd001.jpg) content-box padding-box;

/*  position 的值是 0 0, size 的值是 500px 100px */
background: url(../images/jd001.jpg) content-box padding-box 0 0/500px 100px;
css
background:bg-color bg-image  bg-repeat bg-attachment bg-position / bg-size bg-origin bg-clip

多背景图

css
background-color: #ccc;
background-image: url(../images/bg-tl.png), url(../images/bg-tr.png);
background-repeat: no-repeat;
background-position: left top, right top;

background: url(../images/bg-tl.png) no-repeat left top, 
            url(../images/bg-tr.png) no-repeat right top,
            url(../images/bg-bl.png) no-repeat left bottom,
            url(../images/bg-br.png) no-repeat right bottom,
            url(../images/bg05.jpg) center/cover;

如果位置重合,先写的背景图像会显示在上层!

css
background:url(test1.jpg) no-repeat scroll 10px 20px/50px 60px content-box padding-box,
           url(test1.jpg) no-repeat scroll 10px 20px/70px 90px content-box padding-box,
           url(test1.jpg) no-repeat scroll 10px 20px/110px 130px content-box padding-box #aaa;