本站首页    管理页面    写新日志    退出

 

如何用CSS制作横向菜单?
ccnu8 发表于 2005/4/11 21:17:27

如何用CSS制作横向菜单? 作者:阿捷 2005-4-11 16:54:52 .test2 ul{list-style:none;} .test3 ul{list-style:none;} .test4 ul{list-style:none;} .test5 ul{list-style:none;width:300px;} .test3 li{float:left;} .test4 li{float:left;width:100px;} .test5 li{float:left;width:100px;} .test6 ul{list-style:none;} .test6 li{float:left;width:100px;} .test6 a:link{color:#666;background:#CCC;text-decoration:none;} .test6 a:visited{color:#666;text-decoration:underline;} .test6 a:hover{color:#FFF; font-weight:bold;text-decoration:none;background:#F00;} .test7 ul{list-style:none;} .test7 li{float:left;width:100px;background:#CCC;margin-left:3px;line-height:30px;} .test7 a{display:block;text-align:center;height:30px;} .test7 a:link{color:#666;background:#CCC;text-decoration:none;} .test7 a:visited{color:#666;text-decoration:underline;} .test7 a:hover{color:#FFF; font-weight:bold;text-decoration:underline;background:#F00;} .test8 ul{list-style:none;} .test8 li{float:left;width:100px;background:#CCC;margin-left:3px;line-height:30px;} .test8 a{display:block;text-align:center;height:30px;} .test8 a:link{color:#666;background:url(images/arrow_off.gif) #CCC no-repeat 5px 12px;text-decoration:none;} .test8 a:visited{color:#666;text-decoration:underline;} .test8 a:hover{color:#FFF; font-weight:bold;text-decoration:none;background:url(images/arrow_on.gif) #F00 no-repeat 5px 12px;} 尽管在我的网站和文章里都有提到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;} 效果是: 首页 产品介绍 服务介绍 技术支持 立刻购买 联系我们 看,菜单变横向了。就这么简单!下面需要做的就是优化细节了。 第四步:调整宽度 菜单都挤在一起不好看怎么办?我们来调节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是采用定义li的背景图片来实现的:.test a:link{color:#666;background:url(arrow_off.gif) #CCC no-repeat 5px 12px;text-decoration:none;}.test a:hover{color:#FFF; font-weight:bold;text-decoration:none;background:url(arrow_on.gif) #F00 no-repeat 5px 12px;} 说明:“background:url(arrow_off.gif) #CCC no-repeat 5px 12px;”这句代码是一个CSS缩写,表示背景图片是arrow_off.gif;背景颜色是#CCC;背景图片不重复"no-repeat",背景图片的位置是左边距5px、上边距12px; 默认状态下,图标为arrow.off.gif,当鼠标移动到链接上,图标变为arrow_on.gif 效果变成: 首页 产品介绍 服务介绍 技术支持 立刻购买 联系我们 现在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:url(arrow_off.gif) #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;} 页面的完整代码是:<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> 好了,主要步骤就是这7步,立刻拷贝和修改代码试试,你也可以用CSS做横向菜单了!

阅读全文(1918) | 回复(0) | 编辑 | 精华

 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 
 



 

.: 公告

我要考研了,努力+坚持!!

未曾艰辛难成人,

不经打击老天真。

自古英雄出炼狱,

从来清闲入凡尘。

此去考研鹿何处?

刻苦复习练金身 !

我辈成就复兴业,

立马横刀定乾坤!


Bloginess

«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31

.: 我的分类(专题)

首页(9)


In the Bowl

.: 最新日志

考研小结与计划(1)
考研日子第一篇
PHOTOSHOP 快捷键精中选精
学习一下吧
如何用CSS制作横向菜单?
Asp.net动态生成html页面
ASP.net下的前台日历控件源代码(转
一些学习理论
第一次来,记点东西


.: 最新回复

回复:考研小结与计划(1)


The Fishkeeper
blog名称:
日志总数:9
评论数量:5
留言数量:1
访问次数:59288
建立时间:2005年3月14日



Text Me

.: 留言板

签写新留言

你好,请问你用的什么字体?


Other Fish in the Sea

.: 链接


http://www.businessweek.com        商业周刊

   http://www.cnn.com                   

   http://www.blueidea.com/                蓝色理想

   http://www.etc.edu.cn/                    教育技术通讯

   http://www.ft.com

   http://www.nytimes.com/                纽约时报

 




站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.223 second(s), page refreshed 144763932 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号