通过CSS背景属性,可以给页面元素添加背景样式。
背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。
1 背景颜色
background-color属性定义了元素的背景颜色。
1 | background-color :颜色值; |
一般情况下元素背景颜色默认值是transparent (透明) , 我们也可以手动指定背景颜色为透明色。
2 背景图片
background-image属性描述了元素的背景图像。实际开发常见于logo或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)。
1 | background- image : none | url (url) |
参数值 | 作用 |
---|---|
none | 无背景图(默认的) |
url | 使用绝对或相对地址指定背景图像 |
3 背景平铺
如果需要在HTML页面上对背景图像进行平铺,可以使用background-repeat属性。
1 | background-repeat: repeat | no- repeat | repeat-x| repeat-y |
参数值 | 作用 |
---|---|
repeat | 背景图像在纵向和横向.上平铺(默认的) |
no-repeat | 背景图像不平铺 |
repeat-x | 背景图像在横向上平铺 |
repeat-y | 背景图像在纵向平铺 |
4 背景图片位置
利用background-position属性可以改变图片在背景中的位置。
1 | background-position: x y; |
参数代表的意思是: x坐标和y坐标。 可以使用方位名词或者精确单位
参数值 | 说明 |
---|---|
length | 百分数 | 由浮点数字和单位标识符组成的长度值 |
position | top| center | bottom | left| center | right方位名词 |
- 如果参数是方位词
right center 和 center right 效果是等价的 跟顺序没有关系
background-position: right; 此时 水平一定是靠右侧对齐 第二个参数省略 y 轴是 垂直居中显示的
background-position: top; 此时 第一个参数一定是 top y轴 顶部对齐 第二个参数省略x 轴是 水平居中显示的
2.参数是精确单位
如果参数值是精确确坐标,那么第一个肯定是x坐标,第二个一定是y坐标
如果只指定一 个数值,那该数值一定是x坐标,另一个默认垂直居中。
1 | background-position: 50px 20px; |
3.参数是混合单位
如果指定的两个值是精确单位和方位名词混合使用 ,则第一个值是x 坐标,第二个值是 y坐标
1 | /* 水平是居中对齐 垂直是 20 */ |
5 背景圄像固定(背景附着)
background- attachment属性设置背景图像是否固定 或者 随着页面的其余部分滚动。background-attachment后期可以制作视差滚动的效果.
1 | background attachment. : scroll | fixed |
参数 | 作用 |
---|---|
scroll | 背景图像是随象内容滚动 |
fixed | 背景图像固定 |
background-size
background-size 设置背景图片大小。图片可以保有其原有的尺寸,或者拉伸到新的尺寸,或者在保持其原有比例的同时缩放到元素的可用空间的尺寸。在二倍图中用的比较多,一般第一个值和图片的width一样,第二个值设置为 auto 或者图片的高度。
1 | /* 两个值 */ |
6 背景复合写法
为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性background中。从而节约代码量。
当使用简写属性时,没有特定的书写顺序,一般习惯约定顺序为 :
background-color 、background-image 、background-repeat、 、background- attachment 、background-position
1 | background: #fff url(../image.png) no-reapt fixed top center |
一般 background-size 是单独写,这里也可以简写:position/bg-size
1 | background: url("~assets/img/common/collect.svg") 0 0/14px 14px; |
这是实际开发中,我们更提倡的写法。
7 背景色半透明
CSS3为我们提供了背景颜色半透明的效果。
background: rgba(0, 0,0,0.3);
●最后一个参数是alpha透明度,取值范围在0~1之间
●我们习惯把0.3的 0省略掉, 写为background:rgba(0,0,0, 3);
●注意:背景半透明是指盒子背景半透明, 盒子里面的内容不受影响
●CSS3新增属性,是IE9+版本浏览器才支持的
●但是现在实际开发我们不太关注兼容性写法了,可以放心使用
总结
