智睿软件_技术交流论坛综合站长Web程序开发 → 如何用CSS制作横向菜单


  共有16381人关注过本帖树形打印

主题:如何用CSS制作横向菜单

帅哥哟,离线,有人找我吗?
zhirui
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:520 积分:8740 威望:0 精华:5 注册:2009-07-07
如何用CSS制作横向菜单  发帖心情 Post By:2009-07-08 21:48:45

CSS制作菜单的方法.我们先来看一个菜单的例子,最终效果是:
第一步:建立一个无序列表 代码是:
    <ul>
    <li><a href="1">首页</a></li>
    <li><a href="2">超级链接</a></li>
    <li><a href="3">超级链接</a></li>
    <li><a href="4">超级链接</a></li>
    <li><a href="5">超级链接</a></li>
    <li><a href="6">超级链接</a></li>
    </ul>
第二步:隐藏li的默认样式
因为菜单通常都不需要li默认的圆点,我们给UL定义一个样式来消除这些圆点。
当然,为了更好的控制整个菜单,我们把菜单放在一个div里。页面代码变成:
    <div class="test"> <ul>
    <li><a href="1">首页</a></li>
    <li><a href="2">超级链接</a></li>
    <li><a href="3">超级链接</a></li>
    <li><a href="4">超级链接</a></li>
    <li><a href="5">超级链接</a></li>
    <li><a href="6">超级链接</a></li>
    </ul> </div>
CSS定义为:
.test ul{list-style:none;}
说明:“.test ul”表示我要定义的样式将作用在test的层里的ul标签上。
现在的效果是没有圆点了:
第三步:关键的浮动
这里是菜单变成横向的关键,我们给li元素加上一个“float:left;”属性,让每个li浮动在前面一个li的左面。
CSS定义为:
.test li{float:left;}
效果是:
看,菜单变横向了。就这么简单!下面需要做的就是优化细节了。

企业开源网站管理系统,中小型企业的成长伙伴 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
zhirui
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:520 积分:8740 威望:0 精华:5 注册:2009-07-07
  发帖心情 Post By:2009-07-08 21:48:45

第四步:调整宽度 菜单都挤在一起不好看怎么办?我们来调节li的宽度。 在CSS中添加定义width:100px指定一个li的宽度是100px,当然你可以根据你的需要调整数值: .test li{float:left;width:100px;} 效果是: 首页 超级链接 超级链接 超级链接 超级链接 超级链接 如果我们同时定义外面div的宽度,li就会根据div的宽度自动换行,例如定义了div宽350px,6个li的总宽度是600px,一行排不下就自动变成两行: .test{width:350px;} 效果是: 首页 超级链接 超级链接 超级链接 超级链接 超级链接 第五步:设置基本链接效果 接下来,我们通过CSS来设置链接的样式,分别定义:link、:visited、:hover的状态 .test a:link{color:#666;background:#CCC;text-decoration:none;} .test a:visited{color:#666;text-decoration:underline;} .test a:hover{color:#FFF; font-weight:bold;text-decoration:underline;background:#F00;} 第六步:将链接以块级元素显示 有朋友问,菜单链接的背景色为什么没有填满整个li的宽度?恩,解决的方法很简单,在a的样式定义中增加display:block,使链接以块级元素显示。 同时我们微调了如下细节: 用text-align:center将菜单文字居中; 用height:30px增加背景的高度; 用margin-left:3px使每个菜单之间空3px距离; 用line-height:30px;定义行高,使链接文字纵向居中; CSS定义象这样: .test a{display:block;text-align:center;height:30px;} .test li{float:left;width:100px;background:#CCC;margin-left:3px;line-height:30px;} 效果变成: 首页 超级链接 超级链接 超级链接 超级链接 超级链接 这样就漂亮多了吧。 现在css的完整代码是: .test ul{list-style:none;} .test li{float:left;width:100px;background:#CCC;margin-left:3px;line-height:30px;} .test a{display:block;text-align:center;height:30px;} .test a:link{color:#666;background: #CCC no-repeat 5px 12px;text-decoration:none;} .test a:visited{color:#666;text-decoration:underline;} .test a:hover{color:#FFF; font-weight:bold;text-decoration:none;background:url(arrow_on.gif) #F00 no-repeat 5px 12px;} 页面的完整代码是: 好了,主要步骤就是这7步,立刻拷贝和修改代码试试,你也可以用CSS做横向菜单了!

支持(0中立(0反对(0回到顶部