`
jaychang
  • 浏览: 731461 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

如何用CSS制作横向菜单?

 
阅读更多

原文地址:http://www.w3cn.org/article/tips/2005/105.html

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

分享到:
评论

相关推荐

    CSS制作横向菜单的word文档

    CSS 制作横向菜单的详细教程 通过本教程,我们可以学习如何使用 CSS 制作一个漂亮的横向菜单。下面是详细的知识点: 一、建立无序列表 在制作横向菜单时,我们首先需要建立一个无序列表来定义菜单的结构。使用 `...

    五款漂亮的CSS横向下拉菜单导航条

    CSS动画可以增加导航条的动态性,例如,可以使用`animation`属性制作下拉菜单滑动、淡入淡出等效果。这些微小的动态元素能吸引用户的注意力,使网站更具吸引力。 5. **多级下拉菜单** 对于内容丰富的网站,多级...

    纯CSS实现横向导航栏

    纯CSS实现横向导航栏,导航栏分三级子菜单,主要所用的html标签为ul与li

    jquery+css实现横向动感菜单

    在实现"jQuery+CSS实现横向动感菜单"的过程中,通常会先用HTML构建基础结构,然后用CSS设置样式和布局,最后用jQuery添加交互功能。开发过程中,开发者需要注意浏览器兼容性问题,确保在主流浏览器上都能正常运行。...

    css和javascript 横向下拉菜单

    css和javascript编写的 横向下拉菜单,有益于学习网页制作

    音乐横向css导航菜单

    "音乐横向css导航菜单"是一个专为音乐类网站设计的横置样式导航菜单,利用CSS(Cascading Style Sheets)技术实现,强调美观与功能的结合。下面将详细解析这一主题的相关知识点。 首先,CSS是网页设计中的样式表...

    css3超酷3D旋转导航菜单特效

    本案例中,我们关注的是"css3超酷3D旋转导航菜单特效",这是一个利用CSS3 3D Transforms技术实现的创新性交互设计。这个特效使得网站的导航菜单在用户悬停时展现出立体的旋转效果,增强了用户体验和视觉吸引力。 ...

    CSS制作菜单的工具

    浮动常用于简单的横向菜单,而定位则适用于更复杂的多层下拉菜单。 3. **盒模型**:理解CSS盒模型(包括边距、内边距、边框和内容区域)对于控制菜单元素的大小和布局至关重要。 4. **过渡和动画**:CSS的`...

    div应用横向菜单效果演示

    在"横向菜单.html"这个文件中,我们可以预见到代码会包含HTML结构,用`&lt;div&gt;`元素构建菜单,并结合CSS样式实现上述效果。文件可能还包含了JavaScript,用于添加动态效果,如下拉子菜单或动画过渡。 总结起来,"div...

    纯div+css制作的弹出菜单

    总结来说,使用纯div+css制作水平三级横向弹出菜单主要涉及HTML结构设计、CSS定位技巧以及利用`:hover`伪类实现交互效果。理解并掌握这些基础概念,可以为网页开发中的导航菜单设计打下坚实的基础。在实际项目中,还...

    纯css制作的弹出菜单

    "纯CSS制作的弹出菜单"是一个专注于利用CSS(层叠样式表)技术来构建这种功能的方法,无需借助JavaScript或者其他编程语言。下面将详细探讨如何使用CSS实现弹出菜单及其相关知识点。 首先,理解CSS的基础是关键。...

    js+css经典横向导航栏

    在CSS中,我们可以用`background-image`属性引用这些图片,或者在`&lt;img&gt;`标签中作为源文件。 综上所述,“js+css经典横向导航栏”是一个结合了静态设计与动态交互的网页组件。通过灵活运用CSS和JavaScript,我们...

    自己做的JQ菜单,横向和纵向菜单。

    在这个项目中,"自己做的JQ菜单"指的是利用jQuery来创建一个既支持横向也支持纵向布局的交互式菜单。这种菜单在网站导航中非常常见,能够帮助用户方便地浏览和访问网站的不同部分。 首先,jQuery的选择器功能是创建...

    div+css+ul-li制作横向导航栏

    本教程将详述如何使用HTML的`&lt;div&gt;`、`&lt;ul&gt;`和`&lt;li&gt;`标签,结合CSS来创建一个简洁且清晰的横向导航栏。这种方法既简单又实用,非常适合初学者学习。 首先,我们来理解一下这些HTML标签的基本概念: 1. `&lt;div&gt;`:这...

    jquery导航菜单制作横向二级导航菜单设置当前频道高亮特效

    本文将详细介绍如何使用jQuery来创建一个具有横向二级导航菜单,并实现当前频道高亮的特效。 首先,我们需要理解jQuery的基本概念。jQuery是一个轻量级、高性能的JavaScript库,它简化了HTML文档遍历、事件处理、...

    仿CmsEasy网站横向二级JS+CSS导航菜单

    "仿CmsEasy网站横向二级JS+CSS导航菜单"是一种常见的网页元素,它模仿了CmsEasy系统的导航风格,提供了美观且实用的下拉菜单功能。这种菜单特别适合于有多个层级分类的大型网站,因为它可以有效地组织大量链接,同时...

    JS二级横向下拉菜单

    在项目中,"Chocolate Bar"可能是一个示例或者测试用的文件名,它可能包含了实现这个二级横向下拉菜单的HTML、CSS和JavaScript代码。为了更好地理解和使用这个项目,你可以查看这些文件,了解它们如何协同工作以实现...

    CSS菜单快速生成器,快速制作css网页菜单的免费小工具

    使用**CSS网页菜单制作小工具**,你可以实现以下功能: 1. **样式选择**:工具通常包含多种预设的菜单样式,如横向、垂直、下拉或折叠式菜单,用户可以根据自己的喜好和网站设计选择合适的样式。 2. **颜色定制**:...

    jquery制作一个横向二级导航下拉菜单

    本教程将深入讲解如何使用jQuery来制作一个横向的二级导航下拉菜单,以提高用户体验。 首先,我们需要了解jQuery的基本用法。jQuery是一个轻量级的JavaScript库,它简化了JavaScript的DOM操作、事件处理和动画制作...

    JQuery横向纵向导航菜单

    本教程将深入探讨如何使用jQuery创建一个既可横向又能纵向滑动的完美菜单,这种效果可以极大提升用户体验,使得网站更加互动和吸引人。 首先,jQuery是一种轻量级的JavaScript库,它简化了JavaScript的DOM操作、...

Global site tag (gtag.js) - Google Analytics