HTML网页上最常用的CSS属性应该就算是背景和边框相关属性了,通过使用背景,可以为HTML控件增加各种各样的背景颜色、背景图片;通过边框相关属性,可以为HTML控件增加各种颜色、各种线性、粗细不等的边框。
CSS 3新增的背景相关属性则进一步增强了背景功能,这些属性可以控制背景图片的显示位置、分布方式等;除此之外,CSS 3还新增了多背景图片支持,从而允许开发者在HTML组件中定义多个背景图片。CSS 3还新增了大量边框相关属性,通过这些属性可以让开发者为HTML元素定义圆角边框、渐变边框、图片边框等。
背景相关属性
背景相关属性用于控制背景色、背景图片等属性。在控制背景图片的同时,还可控制背景图片的排列方式。有如下几个常用的背景相关属性。
➢ background:设置对象的背景样式。该属性是一个复合属性,可用于同时设置背景色、背景图片、背景重复模式等属性。为了更好地控制背景,一般不建议通过该属性来控制背景。
➢ background-attachment:设置背景图片是随对象内容滚动还是固定的。在指定该属性之前,必须先指定background-image属性。该属性有如下两个值。
□ scroll:指定背景图片会随组件里内容的滚动而滚动。这是默认值。
□ fixed:背景图片固定,不会随组件里内容的滚动而滚动。
➢ background-color:用于设置背景色。如果同时设置了背景色和背景图片,则背景图片将覆盖背景色。
➢ background-image:用于设置背景图片。如果同时设置了背景色和背景图片,则背景图片将覆盖背景色。该属性需要使用url()函数指定图片地址,图片地址既可以是相对地址,也可以是绝对地址。
➢ background-position:用于设置对象的背景图片位置,该属性值应该是两个值,它们既可是实际的长度值,也可是百分比。如果只指定了一个值,该值将对应横坐标,纵坐标将默认为50%;如果指定了两个值,那么第二个值将对应纵坐标。在指定该属性之前,必须先指定background-image属性。
➢ background-repeat:适用于CSS1,用于设置对象的背景图片是否平铺。在指定该属性之前,必须先指定background-image属性。该属性有repeat、no-repeat、repeat-x、repeat-y 4个值,分别对应在纵向和横向同时平铺、不平铺、仅在横向平铺、仅在纵向平铺。
例子
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title>背景相关属性</title>
<style type="text/css">
/* 为div元素增加边框 */
div{
border:1px solid #000;
height: 50px;
width: 200px;
}
</style>
</head>
<body>
<!-- 灰色背景 -->
background-color:#aaa
<div style="background-color:#aaa;">测试文字</div>
<!-- 以默认样式指定背景图片,将会在横向、纵向上平铺 -->
background-image:url(wjc.gif)
<div style="background-image:url(wjc.gif);">测试文字</div>
<!-- 不平铺的背景图片 -->
background-image:url(wjc.gif);background-repeat: no-repeat
<div style="background-image:url(wjc.gif);
background-repeat:no-repeat;">测试文字</div>
<!-- 仅横向平铺的背景图片 -->
background-image:url(logo.gif);background-repeat: repeat-x
<div style="background-image:url(wjc.gif);
background-repeat:repeat-x;">测试文字</div>
<!-- 不平铺的背景图片,并指定背景图片的位置 -->
background-image:url(wjc.gif);background-repeat:no-repeat;
background-position: 35% 80%;
<div style="background-image:url(wjc.gif);background-repeat:
no-repeat;background-position:35% 80%;">测试文字</div>
<!-- 不平铺的背景图片,并指定背景图片的位置 -->
background-image:url(wjc.gif);background-repeat:no-repeat;
background-position: 30px 12px;
<div style="background-image:url(wjc.gif);background-repeat:
no-repeat;background-position:30px 8px;">测试文字</div>
<!-- 不平铺的背景图片,并指定背景图片的位置 -->
background-image:url(wjc.gif);background-repeat:no-repeat;
background-position: center bottom;
<div style="background-image:url(wjc.gif);background-repeat:
no-repeat;background-position:center bottom;">测试文字</div>
</body>
</html>
背景图片固定
在默认情况下,组件里的背景图片会随着滚动条的滚动而自动移动,但如果把background- attachment属性设为fixed,那么背景图片就会被固定在该组件中,不会随着滚动条的滚动而移动。
例子
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title> 背景固定 </title>
</head>
<!-- 指定背景图片固定 -->
<body style="background-image:url(sky.gif);background-attachment:fixed">
<ul style="font-size:30pt;">
<script type="text/javascript">
for(var i = 0 ; i < 15 ; i++)
{
document.writeln("<li>疯狂Java讲义</li>");
}
</script>
</ul>
</body>
</html>
注:本博客内容节选自李刚编著的疯狂HTML 5/CSS 3/JavaScript讲义 ,详细内容请参阅书籍。