背景 ( Background )
background@3
属性描述: 设置或获取对象的背景特性
版本变更: 是
语法模板:
background:[ <bg-layer>, ]* <final-bg-layer>
<bg-layer> = <bg-image> || <position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>
<final-bg-layer> = <bg-image> || <position> [ / <bg-size>@3 ]? || <repeat-style> || <attachment> || <box>@3 || <box>@3 || <background-color>
默认值: 根据每个独立属性设置
属性值描述:
<background-image>:指定对象的背景图像,可以是真实图片路径或使用渐变创建的“背景图像”;
<background-position>:指定对象的背景图像位置;
<background-repeat>:指定对象的背景图像如何铺排填充;
<background-attachment>:指定对象的背景图像是随对象内容滚动还是固定的;
<background-color>:指定对象的背景颜色;
/***css3中添加的新属性***/
<background-size>:指定对象的背景图像的尺寸大小;
<background-origin>:指定对象的背景图像显示的原点;
<background-clip>:指定对象的背景图像向外裁剪的区域;
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 根据每个独立属性设置
脚本接口: 无
注意事项:
- 一个元素可以设置多重背景图像
- 每组属性间使用逗号分隔
- 如果设置的多重背景图之间存在着交集(即存在着重叠关系),前面的背景图会覆盖在后面的背景图之上
- 背景色
<background-color>
不能设置多组
background-color
属性描述: 设置或获取对象的背景颜色
语法模板:
background-color:<color>
默认值: transparent
属性值描述:
<color>:指定颜色;
适用元素: 所有颜色
是否具有继承性: 否
是否具有动画性: 是
脚本接口: backgroundColor
注意事项:
- 当同时定义了背景颜色和背景图像时,背景图像覆盖在背景颜色之上
- 如果设置了
<background-image>
,同时也建议设置<background-color>
用于当背景图像不可见时保持与文本颜色有一定的对比度
background-image
属性描述: 设置或获取
语法模板:
background-image:url(" <bg-image> [ , <bg-image> ]* ");
默认值: none
属性值描述:
none:无背景图;
<image>:使用绝对或相对地址指或者创建渐变色来确定图像;
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 否
脚本接口: backgroundImage
例如:-background:url(“1.png”) 200px 200px / 100px no-repeat red;
前面是position / 后面是repate
注意事项:
- 如果设置了
<background-image>
,同时也建议设置< background-color>
用于当背景图像不可见时保持与文本颜色有一定的对比度 - 如果定义了多组背景图,且背景图之间有重叠,写在前面的将会盖在写在后面的图像之上
- url中可以存放地址或图片,当图片名称中有特殊符号时必须写单/双引号
- 可以同时设置多个图片,但背景颜色只能有一个
url
函数必不可少,用来存放地址或图片,当图片名称中有特殊符号时必须写引号,单引号也可以。
background-repeat@3
属性描述: 设置或获取对象的背景图像如何铺排填充,必须先指定 <background-image>
属性
语法模板:
background-repeat:<repeat-style> [ , <repeat-style> ]*
<repeat-style> = repeat-x | repeat-y | [repeat | no-repeat | space@3 | round@3 ]{
1,2}
默认值: repeat
属性值描述:
repeat:背景图像在横向和纵向平铺;
repeat-x:背景图像在横向上平铺;
repeat-y:背景图像在纵向上平铺;
no-repeat:背景图像不平铺;
/***css3中添加的新属性***/
round:背景图像自动缩放直到适应且填充满整个容器;
space:背景图像以相同的间距平铺且填充满整个容器或某个方向;
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 否
脚本接口: backgroundRepeat
注意事项:
-
允许提供
2
个参数,如果提供全部2
个参数,第1
个用于横向,第二个用于纵向。
如果只提供1
个参数,则用于横向和纵向。特殊值repeat-x
和repeat-y
除外,因为repeat-x
相当于repeat no-repeat
,repeat-y
相当于no-repeat repeat
,即其实repeat-x
和repeat-y
等价于提供了2
个参数值-
round 只要设定了该值,则表明开启了repeat,如果图像绘制完毕以后,在某个轴上的剩余空间小于图像设定尺寸的一半,那么该轴上的图像数量将保持不动,并且图像在该轴方向上的尺寸将会放大,并且填充完整这个该轴的整个长度。反之(大于),图像数量加一,图像尺寸缩小,并填充完整;
-
space 根据设定的图像尺寸来决定某个轴上最多能存放几张图片,该轴方向上剩余的空间平均的分配到图像之间的间距上;
-
cover那么我们的图像必须要覆盖整个容器空间,当图像宽高不同时,我们需要将图像容器的宽高中的最大值,允许图像溢出,在整个过程中,图像必须保持宽高比;
-
contain 当图像的宽高比不同时,与cover正好相反,我们取宽高中的最小值;
-
现象:
-
当repeat为round,size为contain时,图像的宽高比会改变,当某个轴的长度小于另一个轴的三分之二时,将该轴的长度分别平均分配给两张图片;
-
当repeat为round,size为cover时,图像将会百分百的铺满整个容器,并且容器的宽高就是图像的宽高,该情况下,宽高比会发生改变;
background-size@3
属性描述: 设置或获取对象的背景图像的尺寸大小
语法模板:
background-size:<bg-size> [ , <bg-size> ]*
<bg-size> = [ <length> | <percentage> | auto ]{
1,2} | cover | contain
默认值: auto
属性值描述:
<length>:用长度值指定背景图像大小,不允许负值;可以是两个值,用空格分隔;若只有一个值,表示宽度,高度根据图片的宽度来等比缩放;
<percentage>:用百分比指定背景图像大小,不允许负值;
auto:背景图像的真实大小;
cover:将背景图像等比缩放到完全覆盖容器,取宽高中最大值等比缩放图像,背景图像有可能超出容器,超出部分自动隐藏,
contain:中文包含,覆盖整个容器,取宽高中最小值等比缩放图像,背景图像始终被包含在容器内,IE不支持
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 是,除使用值为关键字外
脚本接口: backgroundSize
注意事项:
- 该属性提供
2
个参数值(特性值cover
和contain
除外) - 如果提供两个,第一个用于定义背景图像的宽度,第二个用于定义背景图像的高度。
- 如果只提供一个,该值将用于定义背景图像的宽度,第
2
个值默认为auto
,即高度为auto
,此时背景图以提供的宽度作为参照来进行等比缩放
现象:
- 当repeat为round,size为contain时,图像的宽高比会改变,当某个轴的长度小于另一个轴的三分之二时,将该轴的长度分别平均分配给两张图片;
- 当repeat为round,size为cover时,图像将会百分百的铺满整个容器,并且容器的宽高就是图像的宽高,该情况下,宽高比会发生改变;
background-attachment@3
属性描述: 设置或获取背景图像是随对象内容滚动还是固定的
版本变更: 是
语法模板:
background-attachment:<attachment> [ , <attachment> ]*
<attachment> = fixed | scroll | local@3
默认值: scroll
属性值描述:
fixed:背景图像相对于窗体固定,类似于固定定位;
scroll:背景图像相对于元素固定,也就是说当元素内容滚动时背景图像不会跟着滚动,因为背景图像总是要跟着元素本身。即图像子元素不跟父元素滚动,但会随元素的祖先元素或窗体一起滚动;
local:背景图像相对于元素内容固定,也就是说当元素随元素滚动时背景图像也会跟着滚动,因为背景图像总是要跟着内容。即图像子元素跟父元素滚动。
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 否
脚本接口: backgroundAttachment
注意事项: 必须先指定<background-image>
属性
overflow:scroll;
超出部分,产生滚动条
background-position
属性描述: 设置或获取对象的背景图像位置
语法模板:
background-position:<position> [ , <position> ]*
<position> = [ left | center | right | top | bottom | <percentage> | <length> ] | [ left | center | right | <percentage> | <length> ] [ top | center | bottom | <percentage> | <length> ] | [ center | [ left | right ] [ <percentage> | <length> ]? ] && [ center | [ top | bottom ] [ <percentage> | <length> ]? ]
默认值: 0% 0%
,效果等同于left top
属性值描述:
<percentage>:用百分比指定背景图像填充的位置,可以为负值;
<length>:用长度值指定背景图像填充的位置,可以为负值;
若只有一个值,表示x轴,另一个值默认为center;
若第一个值描述值,是百分比,数值都作为x轴,描述值可能为y轴;
center:背景图像横向和纵向居中,等同于50% 50%;
left:背景图像在横向上填充从左边开始;
right:背景图像在横向上填充从右边开始;
top:背景图像在纵向上填充从顶部开始;
bottom:背景图像在纵向上填充从底部开始;
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 是
脚本接口: backgroundPosition
注意事项:
- 如果提供两个,第一个用于横坐标,第二个用于纵坐标
- 如果只提供一个,该值将用于横坐标;纵坐标将默认为
50%
(即center
) - 如果提供四个,每个
<percentage>
或<length>
偏移前都必须跟着一个关键字(即left | center | right | top | bottom
),偏移量相对关键字位置进行偏移
abckground-position
默认值为0*0,若只有一个值,另一个值默认为center;
如果只有一个值,表示x轴,
若第一个值不是描述值,是百分比,数值都作为x轴,描述值可能是y轴
background-origin@3
属性描述: 设置或获取对象的背景图像计算 <background-position>
时的参考原点(位置)
语法模板:
background-origin:<box> [ , <box> ]*
<box> = border-box | padding-box | content-box
默认值: padding-box
属性值描述:
padding-box:从padding区域(含padding)开始显示背景图像;
border-box:从border区域(含border)开始显示背景图像;
content-box:从content区域开始显示背景图像;
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 否
脚本接口: backgroundOrigin
background-clip@3
属性描述: 设置或获取对象的背景图像向外裁剪的区域
语法模板:
background-clip:<box> [ , <box> ]*
<box> = border-box | padding-box | content-box
默认值: border-box
属性值描述:
padding-box:从padding区域(不含padding)开始向外裁剪背景;
border-box:从border区域(不含border)开始向外裁剪背景;
content-box:从content区域开始向外裁剪背景;
适用元素: 所有元素
是否具有继承性: 否
是否具有动画性: 否
脚本接口: backgroundClip
绘制参考原点
background-origin:border-box;
background-clip:padding-box;<!--从哪个位置上开始显示-->
background-image: radial-gradient(250px 250px at 100px 100px,red yellow); x主半径,y次半径,at,x轴,y轴,颜色
background-image: radial-gradient(closest-size ellipse at 100px 100px,red yellow);
closest-size 从圆心点开始,一直到最近的边作为渐变的半径
closet-corner 从圆心点开始,一直到最近的角作为渐变的半径
farthest-size 从圆心点开始,一直到最远的边作为渐变的半径
farthest-corner 从圆心点开始,一直到最远的角作为渐变的半径
circle正圆 ellipse椭圆
注意:这些值不可以采用固定半径值来设置,只能给形状
repeating-radial-gradient