尽管在我的网站和文章里都有提到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,一行排不下就自动变成两行:
|