CSS背景(background)
目标
- 理解
- 背景的语法和作用
- CSS背景图片和插入图片的区别
- 应用
- 通过CSS背景属性,给页面元素添加背景样式
- 能设置不同的背景图片位置
1.背景颜色
-
语法:
background-color: 颜色值; 默认值是 transparent 透明的
2.背景图片(image)
-
语法:
background-image: none | url(url)
参数 | 作用 |
---|---|
none | 无背景图(默认的) |
url | 使用绝对或相对地址指定背景图像 |
background-image: url(images/demo.png);
- 小技巧: 我们提倡 背景图片后面的地址,url不要加引号
3.背景平铺(repeat)
-
语法:
background-repeat: repeat | no-repeat | repeat-x | repeat-y
参数 作用 repeat 背景图像在纵向和横向上平铺(默认) no-repeat 背景图像不平铺 repeat-x 背景图像在横向上平铺 repeat-y 背景图像在纵向上平铺
4.背景位置(position)
-
语法:
background-position: length || length background-position: position || position
参数 值 length 百分数 | 由浮点数字和单位标识符组成的长度值 position top | center | bottom | left | center | right 方位名词 -
注意:
- 必须先指定background-image属性
- position后面是x坐标和y坐标。可以使用方位名词或者精确单位
- 如果指定两个值,两个值都是方位名词,则两个值前后顺序无关,比如 left top 和 top left 效果一致
- 如果只指定了一个方位名词,另一个值默认居中对齐
- 如果position后面是精确坐标,那么第一个肯定是x第二个肯定是y
- 如果只指定一个数值,那该数值一定是x坐标,另一个默认垂直居中
- 如果指定的两个值是精确单位和方位名词混合使用,则第一个值是x坐标,第二个值是y坐标
- 如果一个元素上既有背景颜色也有背景图片,那么背景图片会在背景颜色上面显示
5.背景附着
背景附着就是解释背景是滚动的还是固定的(当有滚动条的时候,背景会不会跟谁滚轮的滚动,背景也跟着滚动)
-
语法:
background-attachment: scroll | fixed
参数 | 作用 |
---|---|
scroll | 背景图像是随对象内容滚动 |
fixed | 背景图像固定 |
6.背景简写
background: 属性的值的书写顺序官方没有强制标准的。为了可读性,建议如下写:
background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
-
语法:
background: transparent url(image.jpg) repeat scroll left top;
重点: 如果采用简写的形式,如果不写某些属性,系统默认采用默认值
7. 背景透明(CSS3)
-
语法:
background: rgba(0, 0, 0, 0.3);
rgba r 红色 g 绿色 b 蓝色 a 透明度
最后一个参数是alpha - 透明度 取值范围 0 ~ 1 之间
我们习惯把0.3的0省略掉
注意: 背景半透明是指盒子背景半透明,盒子里面的内容不受影响
因为是CSS3,所以低于ie9的版本是不支持的
透明度: opacity: 0(透明) ~ 1(不透明); 0.5(半透明)
注: 如果指定opacity为0,虽然当前元素被设置为透明,但是还是占位置的;里面所有的子内容也会透明
8 背景总结
属性 | 作用 | 值 |
---|---|---|
background-color | 背景颜色 | 预定义的颜色值/十六进制/RGB代码 |
background-image | 背景图片 | url(图片路径) |
background-repeat | 是否平铺 | repeat/no-repeat/repeat-x/repeat-y |
background-position | 背景位置 | length/position 分别是x 和 y坐标, 切记 如果有 精确数值单位,则必须按照先X 后Y 的写法 |
background-attachment | 背景固定还是滚动 | scroll/fixed |
背景简写 | 更简单 | 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置; 他们没有顺序 |
背景透明 | 让盒子半透明 | background: rgba(0,0,0,0.3); 后面必须是 4个值 |