div+css制作导航条时到底#nav,#nav li,#nav li a,#nav a具体是导航条里的什么呢?

来源:百度文库 编辑:神马文学网 时间:2024/04/28 02:15:18

       

  •    



这是项目列表的一个格式!

---------------------------------------



#nav li{ float:left;} |调用ID为nav样式的容器里边Li的样式|
#nav li a{ display:block;  text-align:center; text-decoration:none;}
|调用ID为nav样式的容器里边,列表项Li超链接的样式| 
    [ 可先修改部分代码 再运行查看效果 ]
  或许你并不能完全理解这些代码都是什么意义,都用来控制什么,达到什么效果。
  下面我们来解析上面的代码:

  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;它是用来控制链接文字之间的空白间隔的,你可以试着改变数值试试看。