创建一个纯CSS的水平导航条

2016-01-29 12:00 15 1 收藏

创建一个纯CSS的水平导航条,创建一个纯CSS的水平导航条

【 tulaoshi.com - Html 】

 

按照传统的方法,导航条由放在一行表格单元里的图形图像构成。由于人们不再推荐用表格来定位任何非表格的页面内容,所以很多制作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标示的导航条。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/html/)

下面就是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的尺寸和背景。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/html/)

Div#navbar2 ul样式包含有margin和padding声明,以强制取代被分配给无序列表的缺省空白,并设置文字的整体格式。White-space: nowrap声明会保证列表显示在一个水平的行里,即使浏览器的窗口太窄而无法显示整个行。

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

这个技巧的另外一个关键元素是div#navbar2 li a规则。Text-decoration: none声明会删除链接常用的下划线,而padding: 7px 10px声明则用来控制导航条里链接(之间)的空白。左侧和右侧间隙用来控制水平间隔,而我们需要顶部和底部间隙,让它们把滚动效果(以及按钮的可点击区域)的彩色背景充满整个导航条。你还可以加入左侧和右侧空白值,如

来源:http://www.tulaoshi.com/n/20160129/1484181.html

延伸阅读
标签: Web开发
利用CSS在导航条上标示当前所在频道的技术,已经有很长时间了,在很多CSS的书中都介绍过,不过还是总被问到,因此写一个简单的示例来讲解一下。 其实原理非常简单: 1) 按照不同的频道(栏目),分别为body定义id。例如: 首页:body id="p_home" Blog频道:body id="p_blog" 相册频道:body id="p_ablum"...
标签: Web开发
不少朋友通过各种方式问我要 Blog 顶部的滚动导航菜单的代码。其实也没什么特别的,但既然有需求,我就还是把这部分代码整理出来,供大家参考。 代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html&nb...
标签: PS PS基础
最终效果 步骤 步骤2,创建导航背景,下面忘记写了,颜色是#5a5a5a 设置灰色块的图层样式,内阴影+渐变 设置完渐变的时候效果出来啦 好,复制背景,行距是3px 为导航条写上标题 下面设置圆圈的样式 图层样式设置完毕把图层不透明°设置为70% 加上箭头得到效果 最终效果
我们所说的多维度导航是指能够引导用户通过不同纬度:运营维度、商品自然属性维度、搜索等维度,快速浏览目标商品的导航,我们称之为多维度导航。 本次薯片会一改以往低调、沉稳之作风,先瑜伽团美女show上阵,再是以臭为首的吃喝团上阵,两轮下来大家情绪Hight到了极点,自然讨论的时候思维也是相当的敏捷,O(∩_∩)O! 本次薯片会以QQ...
电子商务网站的主导航设计是整个网站最最最核心的模块之一。导航需要解决的问题就是,告诉用户如何快速准确的到达他想要去的任何地方。 本文主要想表达的内容是: 如果某个组件具有某个属性,那就把这个属性发挥到极致;如果某个组件不具备某个属性,那么就不要把它伪装成具备这个属性,并用这个属性来诱奸用户。 简单说, 设计就是要解决问...

经验教程

773

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部