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

http://tech.ddvip.com   2007年09月17日    社区交流

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

  知道了这一点,现在让我们来看看例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声明则能够让列表项目在页面上从左向右浮动,而不会让每个项目显示在单独的行里。

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

  最后,:link, :visited和:hover伪类(pseudoclasse)的规则会设置用于滚动效果的颜色变化。

  你可以改变这个基本的技巧,以创建很多不同的导航条效果,包括流行的“目录选项卡”样式。

来源:中国艺术设计联盟    作者:jenty    责编:豆豆技术应用

正在加载评论...