管延文

管延文程序空间 QQ:27651302

导航

一个非常实用的 div+css 实现的导航条


<div id="nav">
  
<ul>
    
<li><href="http://www.52css.com/">HomePage</a></li>
    
<li><href="http://www.52css.com/">Div+CSS教程</a></li>
    
<li><href="http://www.52css.com/">CSS布局实例</a></li>
    
<li><href="http://www.52css.com/">CSS2.0教程 </a></li>
    
<li><href="http://www.52css.com/">CSS在线手册</a></li>
    
<li><href="http://www.52css.com/">Web标准</a></li>
    
<li><href="http://www.52css.com/">XHTML教程</a></li>
  
</ul>
</div>

然后是 css 代码 :

 

#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;
}

 

完整的代码:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>www.52css.com</title>
<style type="text/css">
<!-- 
#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;
}
-->
</style>
</head>
<body>
<div id="nav">
  
<ul>
    
<li><href="http://www.52css.com/">HomePage</a></li>
    
<li><href="http://www.52css.com/">Div+CSS教程</a></li>
    
<li><href="http://www.52css.com/">CSS布局实例</a></li>
    
<li><href="http://www.52css.com/">CSS2.0教程 </a></li>
    
<li><href="http://www.52css.com/">CSS在线手册</a></li>
    
<li><href="http://www.52css.com/">Web标准</a></li>
    
<li><href="http://www.52css.com/">XHTML教程</a></li>
  
</ul>
</div>
</body>
</html>

或许你并不能完全理解这些代码都是什么意义,都用来控制什么,达到什么效果。
  下面我们来解析上面的代码:

  xhtml代码首先定义了一个容器div id="nav"。这个容器用来放置这个无序列表横向导航菜单的内容,但也有人认为这个容器是多余的,直接定义ul id="nav"就可以了。我们不建议你这样做,要知道我们的站点是可扩展的,我们要为将来的扩展留有足够的余地,如果我们的导航样式设计的更加复杂,仅有的ul是不能满足需要的。我们定义这样的容器也更符合我们编写代码的习惯。

  #nav定义了窗口的宽高及背景颜色。#nav ul包含有margin和padding声明,字体及颜色声明。line-height: 30px;是非常重要的定义,如果取消掉行高的定义,我们的链接文字垂直居中就可能受到影响。white-space: nowrap;或许大家并不能理解有什么作用,它定义了强制在同一行内显示所有文本,直到文本结束或者遭遇br对象。关于white-space属性可以参考这里。
  #nav li中的list-style-type: none;去除了列表项所使用的预设标记。使其更象是纯文本,而没有列表标记。display: inline;声明则能够让列表项目在页面上从左向右浮动,而不会让每个项目显示在单独的行里而从上至下的排列。这两项声明是我们实现无序列表横向导航菜单的关键。
  #nav li a和#nav li a:hover定义了链接的样式。其中的内容就不作深入了,唯一要讲的就是:padding: 7px 10px;它是用来控制链接文字之间的空白间隔的,你可以试着改变数值试试看。

posted on 2007-11-18 09:29  tiger8000  阅读(2606)  评论(0编辑  收藏  举报