项目十四 背景属性
项目要求
项目展示
项目展示分别如图14.1、14.2所示。
图14.1 项目一展示
图14.2 项目二展示
教学内容
CSS背景属性可以给页面元素添加背景样式。背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等,如表14.1所示。
表14.1 背景属性
1. 背景颜色(background-color)
background-color 定义了元素的颜色。语法:
background-color:颜色值;
一般情况下,默认背景颜色值是transparent(透明)。
颜色值:可以是颜色单词、十六进制、RGB值等W3C允许的颜色值。
使用十六进制代码,即使用6个十六进制数字。
使用 RGB,即使用RGB指定每个颜色的亮度,数字介于0到255之间。
2. 背景透明
CSS3支持背景半透明的写法,语法格式:
background:rgba(0,0,0,.5);
最后一个参数是alpha 透明度,取值范围0~1,或者用opacity:
background-color:#000;
opacity:0.5;
3. 背景图片(background-image)
background-image属性描述元素的背景图像,语法:background-image:none | url(url)
背景图片属性如表14.2所示。
背景-背景颜色
背景-背景图片
表14.2 背景图像的属性
小技巧:背景图片后面的地址,url不要加引号。
提示:
CSS3中background-image 属性允许指定一个或多个图片展示在背景中,可以和backgroundcolor连用,背景图片会压在背景颜色上面,如图14.3所示。
❖ 当图片不重复,图片覆盖不到的地方都会被背景色填充;
❖ 当背景图片平铺时,则会覆盖背景颜色。
图14.3 背景颜色和背景图片连用
背景颜色和背景图片连用代码如下:
4. 背景平铺(background-repeat)
语法:background-repeat:repeat | no-repeat | repeat-x | repeat-y
背景平铺的属性如表14.3所示,其案例如图14.4所示。
表14.3 背景平铺的属性
图14.4 背景平铺
设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素。
repeat-x:背景图像在横向上平铺。
repeat-y:背景图像在纵向平铺。
5. 背景位置(background-position)
语法:background-position:length
length:百分数 | 由浮点数字和单位标识符组成的长度值,请参阅长度单位。
background-position:position
position:top | center | bottom | left | center | right
说明:
若设置或检索对象的背景图像位置,必须先指定background-image属性,默认值为:(0%0%)。
如果只指定了一个值,该值将用于横坐标X,纵坐标Y将默认为50%。
如果指定了两个值,第一个值将用于横坐标X,第二个值将用于纵坐标。
背景位置参数值如表14.4所示,案例如图14.5所示。
背景-背景定位
大图居中靠上
表14.4 背景位置参数值
图14.5 背景位置参数值12px 50px
总结:
position后面是x坐标和y坐标,可以使用方位名词或者精确单位。
① 参数是方位名词。如果两个值都是方位名词,则两个值前后顺序无关。
比如:background-position:right top;等同background-position:top right;
如果只指定了一个方位名词,另一个值省略,则默认第二个值居中对齐。
② 参数是精确单位。
如果两个值都是精确单位,则第一个是x坐标,第二个是y坐标。
如果只指定了一个数值,那么该数值一定是x坐标,Y坐标默认垂直居中。
③ 参数是混合单位。
如果精确单位和方位名字混合使用,则必须是x坐标在前,y坐标后面。
比如:background-position:15px top;则15px一定是x坐标,top是y坐标。
通过设置背景图片位置,让图片中间核心位置得以展示,案例如图14.6所示。
6. 背景图像固定/附着(background-attachment)
背景图像固定/附着用于设置或检索背景图像是随对象内容滚动还是固定的。
语法:
background-attachment : scroll | fixed
参数:
scroll:背景图像随对象内容滚动(默认的)。
图14.6 背景位置前和设置靠上居中后
fixed:背景图像固定。
说明:背景固定效果参考:https://im.qq.com/。
7. 背景连写(background)
为了简化代码,这里将以上属性合并简写在background属性中,简写属性书写顺序官方并没有强制标准。
为了可读性,推荐写法如表14.5所示。
背景固定和连写
表14.5 背景连写
如:background:#FFF url(image.jpg)no-repeat scroll center top ;
8. 背景尺寸(background-size)
背景尺寸
语法:
background-size:cover | contain
参数:
cover:把背景图像扩展到足够大,使背景图片完全覆盖背景区域。
contain:把图像扩展至最大尺寸,保证背景图片在背景区域内全部可见。
百分比:以父元素的百分比来设置背景图的宽度和高度。第一个是宽度,第二个是高度。只写一个值,另一个默认为auto。
像素值:设置背景图高度和宽度。第一个是宽度,第二个是高度。只写一个值,另一个默认为auto。
背景尺寸设置案例如图14.7所示。
图14.7 背景尺寸设置
9. 多重背景
多个图片背景设置时,属性值之间用逗号“,”隔开,越往前的层级越高(越在上层)。
多图像背景、设置案例如图14.8所示。
多重背景
图14.8 多图像背景设置
10. 背景渐变
语法:
background:linear-gradient(direction,color1,color2 [stop],color3...);
direction:表示线性渐变的方向
(1)渐变方向终点(到哪里结束)。
to left:设置渐变为从右到左。
to bottom:设置渐变从上到下,为默认值。
to right:设置渐变从左到右。
to top:设置渐变从下到上。
(2)方向起点(从哪里开始)。
top:设置渐变从上到下,为默认值。
bottom:设置渐变从下到上。
left:设置渐变从左到右。
right:设置渐变从右到左。
(3)角度(angle)。
角度用数字+单位来进行表示,单位使用deg。所有的颜色都是从中心出发,0deg是to top的方向,顺时针是正,逆时针是负,如图14.9所示。
该属性需要css3中的兼容前缀,如图14.10所示。
背景渐变说明如图14.11所示。
多个渐变颜色的案例如图14.12所示。
背景线性渐变
图14.9 渐变的角度
图14.10 兼容前缀
图14.11 背景渐变说明
图14.12 背景渐变案例
项目训练