默认状况下元素的背景是指元素border(包含border)之内的区域。css
在CSS3中可用使用background-clip
改变元素背景区域。浏览器
指定背景在被应用元素上的绘制区域。元素盒模型包含content, padding, border, margin。默认背景绘制的区域包含:content+padding+border,不包含margin区域。经过该属性能够控制绘制的区域。spa
background-clip: border-box|padding-box|content-box|initial|inherit|text;
其中取值text
比较吊炸天,即背景只显示在文本区域,能够实现美轮美奂的文字啦。code
指定背景的颜色图片
background-clip
属性要先背景颜色属性时,不然该background-clip
属性无效(背景图片就没有这个问题)。给元素指定一个或多个图片类型的背景(而只能指定一种背景颜色)。CSS3能够指定多个背景图片了。多个图片之间用逗号隔开,其余相关的属性能够作做用于多个背景图片上,也是用逗号隔开。ip
背景图片自己是有自身尺寸的(background-size),被应用元素也有本身的尺寸。能够对背景图片进行更复杂的操做。get
原点(origin)是指背景图片开始绘制起始点,默认状况下原点在被应用元素的padding区域的左上角位置。经过background-origin属性能够修改原点位置。以原点向右有X坐标轴正方向,向下为Y坐标轴正方向,背景图片就按照这个坐标系统开始重复绘制背景图片。坐标系的反方向都是重复方式绘制。it
background-origin: padding-box|border-box|content-box|initial|inherit;
背景图片的左上角称为背景图片的位置。该位置是相对于原点构建的坐标系,默认状况下该位置就是在原点。经过background-position能够指定图片相对于原点移动的位置(也能够认为移动背景图片到指定的位置)。io
background-position-x: xpos | inherit | initail; background-position-y: ypos | inherit | initail; // 简写形式 background-position: xpos [ypos] | inherit | initail;
xpos取值:class
background-position-x: 10%
并非表示图片左上角相对于原点X轴方向移动10%,而是表示背景图片X轴方向10%的位置(基于图片Size计算)和原点坐标X轴方向10%的位置(基于原点矩形宽度计算)对齐。计算方式有点绕,主要目的是经过这种计算方式能够很容易实现背景图片的对齐:如0%即表示左对齐,50%表示居中,100%表示右对齐。ypos取值:
一方面背景图片可能比背景区域小, 另外一方面背景图是从origin位置开始绘制的,部分背景区域可能在原点坐标系的负方向。对那些没有被背景图片覆盖的区域,浏览器默认会经过从左到右,从上到下的方向进行重复绘制背景图片,原点的负方向也是按照这个方式重叠绘制。经过background-repeat属性能够控制是否重复以及怎么执行重复绘制背景图片。
background-repeat: repeat | repeat-x | repeat-y | space | round | initital | inherit
背景图片可能具备原始的尺寸,能够经过background-size指定背景图片的大小,进而能够对背景图片进行缩放操做。
background-size: auto | width [height] | cover | contain | initail | inherit
width [height] 指定具体的长度,
指定多个背景图片混合模式
指定背景图片的固定方式。
background-attachment: scroll|fixed|local|initial|inherit;
简写格式
background: bg-color bg-image position/bg-size bg-repeat bg-origin bg-clip bg-attachment initial|inherit;
额,好长,记不清的话还不如使用具体的backgroud属性。方便的记忆法:
绘制元素背景的条件: