按照传统的方法,导航条由放在1行表格单元里的图形图像构成。由于人们不再强力推荐用表格来定位任何非表格的页面内容,所以非常多制作Web的人正在寻找(新的)方法,用结构化的XHTML标记以及CSS格式来创建导航条。
1个简单的CSS导航条
创建CSS样式文本导航条的最简单解决方法也许就是把所有的链接都放在1行文本里,就像例A里的1样。
这种方法看起来非常合理也非常直观。但问题是,把所有的链接都放在1行文本里就非常难控制链接之间以及前后的空白。所以,为了避免所有的链接都挤在1起,你最后通常都不得不插入管道(垂直条)以及非换行的空白字符作为分隔符。
就如下面的代码所示,结果非常难是我们所要的清晰、结构化的标示。
<div id="navbar1">
<a href="link1a.html">Button 1</a> | <a
href="link2a.html ">Button 2</a> | <a href="link3a.html ">
Button 3</a>
</div>
如果为了应用创建按钮背景以及滚动效果所需求的额外CSS样式,你就要加入<span>标签,这样的话标示会变得更加混乱。
基于列表的CSS导航条
创建CSS导航条的另1种方法是使用<ul>以及<li>标签,把链接作为无序列表(unordered list)来标示。
1眼看上去,对导航条使用无序列表似乎是不符合直观感受的,因为我们习惯于把无序列表作为1个竖着推起来的列表项目,每个前面都放着1个Bullet。这似乎不符合导航条水平方向的习惯。
但是,作为独立列表项目集合的列表逻辑结构能够适用于导航条里的链接;而CSS的规则让你能够强制取代列表项目缺省的表现形式,以消除Bullet并安排列表项在页面之上而不是之下浮动。
知道了这1点,现在让我们来看看例B,根据无序列表创建CSS样式以及XHTML标示的导航条。
下面就是XHTML标示之
<div id="navbar2">
<ul>
<li><a href="link1.html">Button 1</a></li>
<li><a href="link2.html ">Button 2</a></li>
<li><a href="link3.html ">Button 3</a></li>
</ul>
</div>
本专栏的固定读者可能会认出这个例子是我用在另1个CSS按钮上的同1个标示。这个技巧吸引人的1个地方是,这个标示对所有按钮都是1样的,无论它们是竖着堆成1列放在主体文本的1边,还是水平放在页面顶端的导航条里。
下面是把文字链接列表转换成导航条的CSS代码之
div#navbar2 {
height之 30px;
width之 100%;
border之top之 solid #000 1px;
border之bottom之 solid #000 1px;
background之color之 #336699;
}
div#navbar2 ul {
margin之 0px;
padding之 0px;
font之family之 Arial, Helvetica, sans之serif;
font之size之 small;
color之 #FFF;
line之height之 30px;
white之space之 nowrap;
}
div#navbar2 li {
list之style之type之 none;
display之 inline;
}
div#navbar2 li a {
text之decoration之 none;
padding之 7px 10px;
color之 #FFF;
}
div#navbar2 lia之link {
color之 #FFF之
}
div#navbar2 lia之visited {
color之 #CCC;
}
div#navbar2 lia之hover {
font之weight之 bold;
color之 #FFF;
background之color之 #3366FF;
}
Div#navbar2样式会设置包含有导航条链接的div的尺寸以及背景。
Div#navbar2 ul样式包含有margin以及padding声明,以强制取代被分配给无序列表的缺省空白,并设置文字的整体格式。White之space之 nowrap声明会保证列表显示在1个水平的行里,即使浏览器的窗口太窄而无法显示整个行。
这个技巧真正的秘密就在div#navbar2 li样式里。List之style之type之 none声明会删除通常用来标记每个列表项目的Bullet;而display之 inline声明则能够让列表项目在页面上从左向右浮动,而不会让每个项目显示在单独的行里。
这个技巧的另外1个关键元素是div#navbar2 li a规则。Text之decoration之 none声明会删除链接常用的下划线,而padding之 7px 10px声明则用来控制导航条里链接(之间)的空白。左侧以及右侧间隙用来控制水平间隔,而我们需求顶部以及底部间隙,让它们把滚动效果(以及按钮的可点击区域)的彩色背景充满整个导航条。你还可以加入左侧以及右侧空白值,如果你想要在按钮之间加入更多空白的话。
最后,之link, 之visited以及之hover伪类(pseudoclasse)的规则会设置用于滚动效果的颜色变化。
你可以改变这个基本的技巧,以创建非常多不1样的导航条效果,包括流行的『目录选项卡』样式。
