当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 创建一个纯CSS的水平导航条

HTML/XHTML教程
CSS 循序渐进(四)表里春秋
精通 CSS 滤镜(五)
让css使网页图片半透明
实现页面图片阴影特效
发现CSS控件的好处
用CSS缩写给你的网站加速
CSS在IE和Nascape的显示差别
利用CSS,不通过replace替换标引HTML标记
拒绝单调 让网页超链接拥有多姿多彩的下划线
对CSS类及id的规范化命名
利用css里expression来实现界面对象的批量控制
利用CSS控制打印
第一章 CSS的基本认识
第二章 CSS的应用方式
第三章 CSS的应用补充
第四章 颜色背景的CSS
第五章 文字性质的CSS
第六章 区块性质的CSS
HTML之其他标记
HTML之链接标记

HTML/XHTML教程 中的 创建一个纯CSS的水平导航条


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 68 ::
收藏到网摘: n/a

导航条由放在一行表格单元里的图形图像构成。由于人们不再推荐用表格来定位任何非表格的页面内容,所以很多制作Web的人正在寻找(新的)方法,用结构化的XHTML标记和CSS格式来创建导航条。

一个简单的CSS导航条
 
创建CSS样式文本导航条的最简单解决方法也许就是把所有的链接都放在一行文本里,就像例A里的一样。

这种方法看起来很合理也很直观。但问题是,把所有的链接都放在一行文本里就很难控制链接之间以及前后的空白。所以,为了避免所有的链接都挤在一起,你最后通常都不得不插入管道(垂直条)和非换行的空白字符作为分隔符。

就如下面的代码所示,结果很难是我们所要的清晰、结构化的标示。

<div id="navbar1">
&nbsp;&nbsp;<a href="link1a.html">Button 1</a> &nbsp;|&nbsp; <a
href="link2a.html ">Button 2</a> &nbsp;|&nbsp; <a href="link3a.html ">
Button 3</a>
</div>

 

如果为了应用创建按钮背景和滚动效果所需要的额外CSS样式,你就要加入<span>标签,这样的话标示会变得更加混乱。

基于列表的CSS导航条
创建CSS导航条的另一种方法是使用<ul>和<li>标签,把链接作为无序列表(unordered list)来标示。

一眼看上去,对导航条使用无序列表似乎是不符合直观感受的,因为我们习惯于把无序列表作为一个竖着推起来的列表项目,每个前面都放着一个Bullet。这似乎不符合导航条水平方向的习惯。

但是,作为独立列表项目集合的列表逻辑结构能够适用于导航条里的链接;而CSS的规则让你能够强制取代列表项目缺省的表现形式,以消除Bullet并安排列表项在页面之上而不是之下浮动。

知道了这一点,现在让我们来看看例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>

 

本专栏的固定读者可能会认出这个例子是我用在另一个CSS按钮上的同一个标示。这个技巧吸引人的一个地方是,这个标示对所有按钮都是一样的,无论它们是竖着堆成一列放在主体文本的一边,还是水平放在页面顶端的导航条里。

下面是把文字链接列表转换成导航条的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声明会保证列表显示在一个水平的行里,即使浏览器的窗口太窄而无法显示整个行。

这个技巧真正的秘密就在div#navbar2 li样式里。List-style-type: none声明会删除通常用来标记每个列表项目的Bullet;而display: inline声明则能够让列表项目在页面上从左向右浮动,而不会让每个项目显示在单