你的位置:首页 > 网页设计

[网页设计]9.css背景


  这节也是关于盒模型的扩展,而我个人喜欢把盒模型想象成图画。元素的尺寸调整就是画布大小的调整,边框的设置就是画框的镶嵌。但是,作为一个最终要将画作展现到美术馆(网页)的艺术家来说,仅仅是这样还是不够的,就像各种画作里面可以进行背景的描绘一样,我们也可以为自己的画设置背景。

  下表总结了背景相关的一些属性:

属性说明CSS 版本
background-color颜色背景的颜色1
background-imagenone 或 url背景的图片1 , 3
background-repeat样式名称背景图片的样式1 , 3
background-size长度值或其他背景图片的尺寸3
background-position位置坐标背景图片的位置1
background-attachment滚动方式背景图片的滚动1,3
background-clip裁剪方式背景图片的裁剪3
background-origin位置坐标背景图片起始点3
background复合值背景图片简写方式1

  从上面的表可以看出,背景无非就两样:1.颜色,2.图片及相关设置。下面来逐一说明。

 


 

1.背景颜色

说明CSS 版本
颜色设置背景颜色为指定色1
transparent设置背景颜色为透明色1
div {   background-color: silver; }

 

  解释:关于颜色的值请参考css颜色。而元素的背景颜色为透明色,是浏览器默认的,所以很少有必要专门去设置。另外,针对<body>元素设置颜色会设置整个页面的颜色。

 


 

2.背景图片

  2.1 图片的引入

    使用background-image属性可以为背景引入图片

说明CSS 版本
none取消背景图片的设置1
url通过 URL 设置背景图片1
body {   background-image: url(loading.gif); } 

 

  解释:none值是为了解决子元素的继承问题的,而url里面放的是图片的资源地址。

 

  2.2 图片的平铺方式

    由background-repeat属性决定

说明CSS 版本
repeat-x水平方向平铺图像1
repeat-y垂直方向平铺图像1
repeat水平和垂直方向同时平铺图像1
no-repeat禁止平铺图像1
body {   background-image: url(loading.gif);   background-repeat: no-repeat; }

 

  解释:所谓平铺,就是当图片小于元素的大小时,会试图复制自己而填满整个元素

 

  2.3 图片位置的调整

    使用background-position属性来调整图片在元素里的位置,一般要先禁用图片的平铺行为。

说明CSS 版本
top将背景图片定位到元素顶部1
left将背景图片定位到元素左部1
right将背景图片定位到元素右部1
bottom将背景图片定位到元素底部1
center将背景图片定位到元素中部1
长度值使用长度值偏移图片的位置1
百分数使用百分数偏移图片的位置1

 

  

/*将背景图片置于页面上方,如果想置于左上方则值为:top left*/body {   background-image: url(loading.gif);   background-repeat: no-repeat;   background-position: top; } /*使用长度值或百分数,第一值表示左边,第二个值表示上边*/body {   background-image: url(loading.gif);   background-repeat: no-repeat;  background-position: 20px 20px; } 

 

 

  2.4 图片的大小

    由background-size属性控制。

 值说明 CSS 版本
 auto 默认值,图像以原尺寸显示 3
 cover 等比例缩放图像,使图像至少覆盖容器,但有可能超出容器 3
 contain 等比例缩放图像,使其宽度、高度中较大者与容器横向或纵向重合 3
 长度值 CSS 长度值,比如 px、em 3
 百分数 比如:100% 3

  具体说明看表格就好,这里就不举例了。

 

  2.5 图片是否滚动

    由background-attachment属性控制。

说明CSS 版本
scroll默认值,背景固定在元素上,不会随着内容一起滚动1
fixed背景固定在视窗上,内容滚动时背景不动1
body {   background-image: url(loading.gif);   background-attachment: fixed; } 

 

    解释:fixed 值会导致背景产生水印效果,拖动滚动条而背景不动。

  2.6 图片在元素的那个区域显示

    由background-origin控制,和图片的位置调整不同,位置调整默认是在元素内部显示,而这里的居于除了元素的内部以为,还包括内边距和边框。

说明CSS 版本
border-box在元素的边框绘制背景3
padding-box在元素的内边距绘制背景3
content-box在元素的内容部分绘制背景3
div {   width: 400px;   height: 300px;   border: 10px dashed red;   padding: 50px;   background-image: url(img.png);   background-repeat: no-repeat;   background-origin: content-box; } 

 

   解释:在内容部分绘制背景,其实就是设置背景起始位置。

 

  2.7 图片的裁剪

    由background-clip控制。在图片尺寸小于元素时,会有平铺的行为。而大于时,我们就要决定是否对多余的部分进行裁剪了。

说明CSS 版本
border-box在元素盒子内部裁剪背景3
padding-box在内边距盒子内部裁剪背景3
content-box在内容内部裁剪背景3
div {   width: 400px;   height: 300px;   border: 10px dashed red;   padding: 50px;   background-image: url(img.png);   background-repeat: no-repeat;  background-origin: border-box;   background-clip: padding-box; } 

 

  

  2.8 简写形式

    和很多设置一样,背景也有相应的简写形式,其顺序如下:

    [background-color]

    [background-image]

    [background-repeat]

    [background-attachment]

    [background-position] / [ background-size]

    [background-origin]

    [background-clip];

div {   width: 400px; height:   300px; border: 10px dashed red;   padding: 50px;   background: silver url(img.png) no-repeat scroll left top/100% border-box content-box; }