首页 » 建站 » 网站设计 » 正文

用CSS制作简洁横向菜单

发表于: 汉林设计信息网-翰林院营销顾问 · 2011-4-8 ·  1,237 views  ·  1 replies 

我们在制作页面的时候,必须要做的就是菜单了。在我的网站和文章里都有提到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]

本文链接: http://www.hanlinweb.com/css-horizontal-menus.html
0 like+
«上一篇: :下一篇»

相关文章

CSS3网页导航菜单制作利器

CSS3网页导航菜单制作利器

不少童鞋在做菜单的时候灰常纠结。总是希望有一款快速方便...

网站设计页面形式的分析

网站设计页面形式的分析

没有一个好的网站设计基础,就不会取得理想的网站排名效果...

客户说网站要做大气一点

客户说网站要做大气一点

在百度UEO看到篇文章,觉得还满有点意思,分享给大家看看。...

Windows平台上的强大的文本编辑器

Windows平台上的强大的文本编辑器

这里介绍两款灰常强大的软件,就是那些能让你们保持高效率...

全国各省管局备案过程真实性核验注意事项

全国各省管局备案过程真实性核验注意事项

简称 省 份 需要快递 核验单 需要幕布背景 照片 特殊要...

设计中的极简主义

设计中的极简主义

设计中的极简主义已经出现一段时间了,并且现在看起来正在...

One thought on “用CSS制作简洁横向菜单”

  1. 还没有任何评论,你来说两句吧

Leave a reply