如何应用ul、li标签 创建css横向导航菜单?
我们制作导航条按照传统的方法由放在一行表格单元里的图形图像构成,或者由单元格内的文字所组成,由于人们不再推荐用表格来定位任何非表格的页面内容,所以很多制作Web的人正在寻找新的方法,用结构化的XHTML标记和CSS格式来创建导航条。这样的创建方式也更对搜索引擎蜘蛛友好,这对我们来说是非常重要的。
创建CSS样式文本导航条的最简单解决方法也许就是把所有的链接都放在一行文本里,这种方法看起来很合理也很直观。但问题在于把所有的链接都放在一行文本里就很难控制链接之间以及前后的空白。所以,为了避免所有的链接都挤在一起,你最后通常都不得不插入一些东西或者非换行的空白字符作为分隔,让这些文字分离开来,不至于混在一起。但这样有意义吗?
现在我们正常的做法是应用ul、li标签把链接作为无序列表(unordered list)来标识。再应用CSS样式对其进行控制,按我们预想的形式在容器中显示出来。对导航条使用无序列表似乎是不符合直观感受的,因为我们习惯于把无序列表作为一个竖着推起来的列表项目,每个前面都放着一个列表预设标记。这似乎不符合导航条水平方向的习惯。但作为独立列表项目集合的列表逻辑结构能够适用于导航条里的链接;而CSS的规则让你能够强制取代列表项目缺省的表现形式,以消除它们并安排列表项在容器内按水平方向排列,而不是从上而下的规则。现在让我们来看看实例,根据无序列表创建CSS样式和XHTML标签的横向导航菜单。
我们看看下面的xhtml代码:
Example Source Code
[
<div id="nav">
<ul>
<li><a href="http://www.52css.com/">HomePage</a></li>
<li><a href="http://www.52css.com/">Div+CSS教程</a></li>
<li><a href="http://www.52css.com/">CSS布局实例</a></li>
<li><a href="http://www.52css.com/">CSS2.0教程 </a></li>
<li><a href="http://www.52css.com/">CSS在线手册</a></li>
<li><a href="http://www.52css.com/">Web标准</a></li>
<li><a href="http://www.52css.com/">XHTML教程</a></li>
</ul>
</div>
我们再看看关于这段xhtml的CSS代码:
Example Source Code
#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;
}
我们来看看上面的代码的运行效果:
Source Code to Run