web标准(复习)--7 横向导航菜单
今天我们开始学习html列表,包含以下内容和知识点:
横向列表菜单
用图片美化的横向导航
css Sprites
一、横向列表菜单
前边学习过纵向导航菜单,又学习了float属性,那么要实现横向导航菜单是不是很简单了,只需要把li横向排列就可实现了。把第四节的代码拿过来直接用,修改后的代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style
type="text/css">
body { font-family: Verdana; font-size: 12px;
line-height: 1.5; }
a { color: #000; text-decoration: none; }
a:hover {
color: #F00; }
#menu { border: 1px solid #CCC; height:26px; background:
#eee;}
#menu ul { list-style: none; margin: 0px; padding: 0px; }
#menu ul
li { float:left; padding: 0px 8px; height: 26px; line-height: 26px;
}
</style>
</head>
<body>
<div
id="menu">
<ul>
<li><a
href="#">首页</a></li>
<li><a
href="#">网页版式布局</a></li>
<li><a
href="#">div+css教程</a></li>
<li><a
href="#">div+css实例</a></li>
<li><a
href="#">常用代码</a></li>
</ul>
</div>
</body>
</html>
为了用户体验更加友好,还是把a转换成块级元素,也可以给a设置背景色或背景图片来更加美观了,另外再设置鼠标放上时的样式。
#menu { width:370px; margin:0 auto; border: 1px solid #CCC; height:26px;
background: #eee;}
#menu ul { list-style: none; margin: 0px; padding: 0px;
}
#menu ul li { float:left;}
#menu ul li a { display:block; padding: 0px
8px; height: 26px; line-height: 26px; float:left;}
#menu ul li a:hover {
background:#333; color:#fff;}
三、 CSS Sprites技术
CSS
Sprites在国内很多人叫css精灵或css雪碧。它是把网页中一些背景图片整合到一张图片文件中,再利用CSS的背景图片定位到要显示的位置。这样做可以减少文件体积,减少对服务器的请求次数,提高效率。
讲CSS Sprites之前,先把背景图片给搞清楚
#menu ul li a { background:#ccc url(images/nav_bg2.gif) 0 0 no-repeat; }
css背景属性缩写后如上所示,#ccc表示背景色;url()里是背景图片路径;接下来的两个数值参数分别是左右和上下,第一个参数表示距左多少px,第二个参数表示距上多少,这和padding的简写方式是不 一样,一定不要弄混。另外再强调一点css中值为0可以不带单位,其它数值都必须带单位(line-height值为多少倍时,zoom,z-index除外);no-repeat表示背景图片向哪个方向重复,此时为不重复。
还需说明一点的是定位图片位置的参数是以图片的左上角为原点的,理解了这些,CSS Sprites技术就基本上懂了,就是靠背景图片定位来实现的。把三张背景图片整合到一张上,如下图:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。