用CSS制作简洁横向菜单
我们在制作页面的时候,必须要做的就是菜单了。在我的网站和文章里都有提到CSS制作菜单的方法,在群里也教过了很多次。但很多初学者还是不太清楚如何实现,干脆写一篇详细教程会对大家比较有帮助。先来看看实际案例:点击这里
我们来详细讲解步骤:
第一步:建立一个无序列表
我们先建立一个无序列表,来建立菜单的结构。代码是:
<div id="menu">
<ul>
<li><a href="#" >公司简介</a></li>
<li><a href="#">新闻中心</a></li>
<li><a href="#">产品中心</a></li>
<li><a href="#">诚聘英才</a></li>
<li><a href="#">用户留言</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</div>
第二步:隐藏li的默认样式
因为看起来不是很好看,菜单通常都不需要li默认的圆点,我们给UL定义一个样式来消除这些圆点。
当然,为了更好的控制整个菜单,我们把菜单放在一个div里。页面代码不变:
CSS定义为:
#menu ul{list-style:none}
说明:“#menu ul”表示我要定义的样式将作用在menu的层里的ul标签上。
现在的效果是没有圆点了:
第三步:关键的浮动
这里是菜单变成横向的关键,我们给li元素加上一个“float:left;”属性,让每个li浮动在前面一个li的左面。
CSS定义为:
#menu li{float:left;}
看,菜单变横向了。就这么简单!下面需要做的就是优化细节了。
第四步:调整宽度
菜单都挤在一起不好看怎么办?我们来调节li的宽度。
在CSS中添加定义width:100px指定一个li的宽度是100px,当然你可以根据你的需要调整数值:
#menu li {float:left;margin:0 10px;display:block;line-height:30px}
第五步:设置基本链接效果
接下来,我们通过CSS来设置链接的样式,分别定义:link、:visited、:hover的状态
#menu ul li a:link,#menu ul li a:visited{font-weight:bold;color:#666;text-decoration:none;padding:0 10px}
第六步:将链接以块级元素显示
有朋友问,菜单链接的背景色为什么没有填满整个li的宽度?恩,解决的方法很简单,在a的样式定义中增加display:block,使链接以块级元素显示。
同时我们微调了如下细节:
- 用height:30px增加背景的高度;
- 用margin:0 10px使每个菜单左右各空10px距离;
- 用line-height:30px;定义行高,使链接文字纵向居中;
CSS定义象这样:
#menu{height:30px}
#menu ul li{float:left;margin:0 10px;display:block;line-height:30px}
第七步:定义背景图片
我们通常都给导航增加一个背景,这样导航更清楚。我这里是采用定义menu的背景图片来实现的:
#menu{height:30px;background:url(images/menubg.gif) repeat-x;border:1px solid #dde7d4;margin-bottom:10px;OVERFLOW:hidden}
#menu ul li a:hover{background:url(images/menubghover.gif) repeat-x}
#menu ul .hover{background:url(images/menubghover.gif) repeat-x} 这里定义的是默认状态下的连接效果。
代码表现为
<li><a href="#" >公司简介</a></li>说明:“background:url(images/menubg.gif) repeat-x;”这句代码是一个CSS缩写,表示背景图片是menubg.gif;背景图片重复平铺。默认状态下,图标为arrow.off.gif,当鼠标移动到链接上,图标变为arrow_on.gif
现在css的完整代码是:
#menu{height:30px;background:url(images/menubg.gif) repeat-x;border:1px solid #dde7d4;margin-bottom:10px;OVERFLOW:hidden}
#menu ul{float:left;list-style:none;margin:0px;}
#menu ul li{float:left;margin:0 10px;display:block;line-height:30px}
#menu ul li a:link,#menu ul li a:visited{font-weight:bold;color:#666;display:block;text-decoration:none;padding:0 10px}
#menu ul li a:hover{background:url(images/menubghover.gif) 2px 2px repeat-x;display:block}
#menu ul .hover{background:url(images/menubghover.gif) 2px 2px repeat-x;display:block}
页面的完整代码是:
<div id="menu">
<ul>
<li><a href="#" class="hover">公司简介</a></li>
<li><a href="#">新闻中心</a></li>
<li><a href="#">产品中心</a></li>
<li><a href="#">诚聘英才</a></li>
<li><a href="#">用户留言</a></li>
<li><a href="#">联系我们</a></li>
</ul>
</div>
好了,主要步骤就是这7步,立刻拷贝和修改代码试试,你也可以用CSS做横向菜单了!本文用到的源码下载
[Downlink href="http://www.hanlinweb.com/webtools/css-menu/css-menu.rar"]下载实例代码[/Downlink]
还没有任何评论,你来说两句吧