Css中的ul与li其实是DIV+CSS排版中的重头戏,如何学好并应用好这个重棒工具相当重要,下面谈谈需要注意的几点内容
#nav {
height: 30px;
width: 100%;
background-color: #c00;
}
#nav ul {
margin: 0 0 0 30px;
padding: 0px;
font-size: 12px;
color: #FFF;
line-height: 30px;
white-space: nowrap;
}
#nav li {
list-style-type: none;
display: inline;
}
#nav li a {
text-decoration: none;
font-family: Arial, Helvetica, sans-serif;
padding: 7px 10px;
color: #FFF;
}
#nav li a:hover {
color: #ff0;
background-color: #f00;
}
xhtml代码首先定义了一个容器div id="nav"。这个容器用来放置这个无序列表横向导航菜单的内容,但也有人认为这个容器是多余的,直接定义ul id="nav"就可以了。我们不建议你这样做,要知道我们的站点是可扩展的,我们要为将来的扩展留有足够的余地,如果我们的导航样式设计的更加复杂,仅有的ul是不能满足需要的。我们定义这样的容器也更符合我们编写代码的习惯。
#nav定义了窗口的宽高及背景颜色。#nav ul包含有margin和padding声明,字体及颜色声明。line-height: 30px;是非常重要的定义,如果取消掉行高的定义,我们的链接文字垂直居中就可能受到影响。white-space: nowrap;或许大家并不能理解有什么作用,它定义了强制在同一行内显示所有文本,直到文本结束或者遭遇br对象。
#nav li中的list-style-type: none;去除了列表项所使用的预设标记。使其更象是纯文本,而没有列表标记。 display: inline;声明则能够让列表项目在页面上从左向右浮动,而不会让每个项目显示在单独的行里而从上至下的排列。这两项声明是我们实现无序列表横向导航菜单的关键。
#nav li a和#nav li a:hover定义了链接的样式。其中的内容就不作深入了,唯一要讲的就是:padding: 7px 10px;它是用来控制链接文字之间的空白间隔的,你可以试着改变数值试试看。