CSS背景
1、CSS允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果
2、CSS在这方面的能力远远在HTML之上
CSS 背景属性
属性 | 描述 |
background | 简写属性,作用是将背景属性设置在一个声明中 |
background-attachment | 背景图像是否固定或者随着页面的其余部分滚动 |
background-color | 设置元素的背景颜色 |
background-image | 把图像设置为背景 |
background-position | 设置背景图像的起始位置 |
background-repeat |
设置背景图像是否及如何重复 |
背景色
1、可以使用background-color属性为元素设置背景色。这个属性接受任何合法的颜色值
2、如果您希望背景色从元素中的文本向外少有延伸,只需增加一些内边距:padding属性
3、可以为所有元素设置背景色,这包括body一直到em和a等行内元素
4、background-color不能继承,其默认值是transparent。transparent有“透明”之意。也就是说,如果一个元素没有指定背景色,那么背景就是透明的,这样其祖先元素的背景才能可见
例1:
背景图像
1、要把图像放入背景,需要使用background-image属性。background-image属性的默认值是none,表示背景上没有放置任何图像
2、如果需要设置一个背景图像,必须为这个属性设置一个URL值
3、background-image也不能继承。事实上,所有背景属性都不能继承
4、默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体
例2:
背景重复
1、如果需要在页面上对背景图像进行平铺,可以使用background-repeat属性
2、属性值repeat导致图像在水平垂直方向上都平铺,就像以往背景图像的通常做法一样。repeat-x和repeat-y分别导致图像只在水平或垂直方向上重复,no-repeat则不允许图像在任何方向上平铺
3、默认地,背景图像将从一个元素的左上角开始
4、背景图像的位置是根据background-position属性设置的。如果未规定background-position属性,图像会被放置在元素的左上角
值 | 描述 |
repeat | 默认。背景图像将在垂直方向和水平方向重复 |
repeat-x | 背景图像将在水平方向重复 |
repeat-y | 背景图像将在垂直方向重复 |
no-repeat | 背景图像将仅显示一次 |
inherit | 规定应该从父元素继承background-repeat属性的设置 |
例3:在垂直方向重复背景图像
例3_1:仅显示一次背景图像
注:从上面的例子可以看出
1、无background-repeat属性时:就是把一张图片拿来同时垂直、水平重复铺,直到铺满整个图片
2、background-repeat值为repeat-y或repeat-x时:就是把一张图片拿来在垂直或水平方向重复铺,直到在对应方向铺满
3、background-repeat值为no-repeat:就是在左上角铺一张图片,不会重复
背景定位
1、可以利用background-position属性改变图像在背景中的位置
2、为background-position属性提供值有很多方法。可以使用一些关键字:top、bottom、left、right和center可以使用长度值,如100px 或5cm,最后也可以使用百分数值。不同类型的值对于背景图像的放置稍有差异
例4:将一个背景图像居中放置
关键字
1、图像放置关键字最容易理解,其作用如其名称所表明的。例如,top right 使图像放置在元素内边距区的右上角
2、根据规范,位置关键字可以按任何顺序出现,只要保证不超过两个关键字:一个对应水平方向,另一个对应垂直方向
3、如果只出现一个关键字,则认为另一个关键字是center
单一关键字 | 等价的关键字 |
center | center center |
top | top center 或 center top |
bottom | bottom center 或 center bottom |
right | right center 或 center right |
left | left center 或 center left |
百分数值
1、百分数值的表现方式更为复杂。假设你希望用百分数值将图像在其元素中居中如
2、图像适当放置,其中心与其元素的中心对齐。换句话说,百分数值同时应用于元素和图像
3、如果图像位于 0% 0%,其左上角将放在元素内边距区的左上角。如果图像位置是 100% 100%,会使图像的右下角放在右边距的右下角
4、background-position的默认值是0% 0%,在功能上相当于top left:图像总是从元素内边距区的左上角开始平铺
例5:放在水平方向2/3、垂直方向1/3处
长度值
1、长度值解释的是元素内边距区左上角的偏移。偏移点是图像的左上角
2、注意,这一点与百分数值不同,因为偏移只是从一个左上角到另一个左上角。也就是说,图像的左上角与background-position声明中的指定的点对齐
3、比如,如果设置值为 50px 100px,图像的左上角将在元素内边距区左上角向右50像素、向下100像素的位置上
例6:
背景关联
如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。可以通过background-attachment属性防止这种滚动。通过这个属性,可以声明图像相对于可视区是固定的(fixed),因此不会受到滚动的影响
例7:
例7_1:所有背景属性在一个声明之中