| 网站首页 | 模板 | 资料 | 源码 | 工具 | 开发 | 设计 | 安全 | 项目 | 网络 | 图片 | 系统 | 数据库 | 博客 | 会员中心 | 小说 | 
MYFTP 精品资料下载
网络学院
学习资料
源码模版
您现在的位置: 精品下载 >> 开发 >> 网站开发 >> CSS技术 >> 文章正文 用户登录 新用户注册
如何用CSS制作横向菜单            【字体:
如何用CSS制作横向菜单
作者:佚名    文章来源:不详    点击数:    更新时间:2007-12-18

  尽管在我的网站和文章里都有提到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做横向菜单了!

文章录入:chqnet    责任编辑:chqnet 
  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    用css实现文字的自动隐藏
    常用CSS缩写语法总结
    用css样式表实现首字大写特效
    用CSS样式表来定义博客上的链
    如何有效管理好CSS
    导航上用CSS标志当前页效果的
    利用CSS创造多彩文字
    用CSS层叠样式表实现文字变图
    用CSS层叠样式表完成可以控制
    如何用CSS层叠样式表控制鼠标
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)