CSS 之背景属性(background)

2,337 阅读4分钟

这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战

CSS 可以添加背景颜色和背景图片,以及来进行图片设置。

background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置

属性描述
background-color背景颜色
background-image背景图片地址
background-repeat是否平铺
background-position背景位置
background-attachment背景固定还是滚动
背景的合写(复合属性)
background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置
背景图片(image)

语法:

background-image : none | url (url)

参数:

none : 无背景图(默认的) url : 使用绝对或相对地址指定背景图像

background-image 属性允许指定一个图片展示在背景中(只有CSS3才可以多背景)可以和 background-color 连

用。 如果图片不重复地话,图片覆盖不到地地方都会被背景色填充。 如果有背景图片平铺,则会覆盖背景颜色。

小技巧: 我们提倡 背景图片后面的地址,url不要加引号。

背景平铺(repeat)

语法:

background-repeat : repeat | no-repeat | repeat-x | repeat-y

参数:

repeat : 背景图像在纵向和横向上平铺(默认的)

no-repeat : 背景图像不平铺

repeat-x :背景图像在横向上平铺

repeat-y :背景图像在纵向平铺

设置背景图片时,默认把图片在水平和垂直方向平铺以铺满整个元素。

repeat-x :背景图像在横向上平铺

repeat-y :背景图像在纵向平铺

背景位置(position)

语法:

background-position : length || length

background-position : position || position

参数:

length : 百分数 | 由浮点数字和单位标识符组成的长度值。请参阅长度单位 position : top | center | bottom | left | center | right

说明:

设置或检索对象的背景图像位置。必须先指定background-image属性。默认值为:(0% 0%)。 如果只指定了一个

值,该值将用于横坐标。纵坐标将默认为50%。第二个值将用于纵坐标。

注意:

  1. position 后面是x坐标和y坐标。 可以使用方位名词或者 精确单位。

  2. 如果和精确单位和方位名字混合使用,则必须是x坐标在前,y坐标后面。比如 background-position: 15pxtop; 则 15px 一定是 x坐标 top是 y坐标。

实际工作用的最多的,就是背景图片居中对齐了。

背景附着

语法:

background-attachment : scroll | fixed

参数:

scroll : 背景图像是随对象内容滚动 fifixed : 背景图像固定

说明:

设置或检索背景图像是随对象内容滚动还是固定的。

背景简写

background属性的值的书写顺序官方并没有强制标准的。为了可读性,建议大家如下写:

background:背景颜色 背景图片地址 背景平铺 背景滚动 背景位置

background: transparent url(image.jpg) repeat-y scroll 50% 0 ;

body {

background: red url(images/ms.jpg) no-repeat fixed center;

}
背景透明(CSS3)

CSS3支持背景半透明的写法语法格式是:

background: rgba(0,0,0,0.3);

最后一个参数是alpha 透明度 取值范围 0~1之间

注意: 背景半透明是指盒子背景半透明, 盒子里面的内容不收影响。

背景缩放(CSS3)

通过background-size设置背景图片的尺寸,就像我们设置img的尺寸一样,在移动Web开发中做屏幕适配应用非常广泛。

其参数设置如下:

a) 可以设置长度单位(px)或百分比(设置百分比时,参照盒子的宽高)

b) 设置为cover时,会自动调整缩放比例,保证图片始终填充满背景区域,如有溢出部分则会被隐藏。我们平时用的cover 最多

c) 设置为contain会自动调整缩放比例,保证图片始终完整显示在背景区域。

body{

background-color: skyblue;

}

div{

width: 400px;

height: 500px;

background: hotpink url(images/l.jpg) no-repeat;

/*background-size: 100px;/*我们尽量改变一个值,防止缩放失真扭曲*/

/*background-size: 50%;/*把图片缩放为原来50%的大小。*/

/*background-size: cover;/*会自动调整背景图片的缩放比例,保证图片始终填满背景区域,如

果有溢出则会隐藏*/

background-size: contain;/*会自动调整背景图片的缩放比例,保证图片始终完整显示在背景区

域*/

}
多背景(CSS3)

以逗号分隔可以设置多背景,可用于自适应布局 做法就是 用逗号隔开就好了。

  • 一个元素可以设置多重背景图像。

  • 每组属性间使用逗号分隔。

  • 如果设置的多重背景图之间存在着交集(即存在着重叠关系),前面的背景图会覆盖在后面的背景图之上。

  • 为了避免背景色将图像盖住,背景色通常都定义在最后一组上.

div {

width: 500px;

height: 500px;

background: url(images/l.jpg) no-repeat left top,

url(images/3.jpg) no-repeat right bottom hotpink;

}