css 导航菜单实现代码

本文教程旨在教你如何创建一个使用HTML5+CSS的自适应导航菜单,它不需要用到javascript,而且可以居左,居中和居右,这个菜单不是通过点击显示的,它是鼠标滑过的时候显示出来的,并且兼容各种浏览器包括手机客户端和IE浏览器。

这个小技巧在一个有很多导航菜单的时候可以折叠为一个元素的下拉菜单时很有用。希望你会喜欢。

HTML代码
这里面的<nav>标志作为创建下拉菜单的定位是必须的,下面的教程中我将会解释这是怎么回事,另外.current是作为一个激活/当前的菜单样式

 代码如下 复制代码
<nav>
<ul>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Illustration</a></li>
<li><a href="#">Web Design</a></li>
<li><a href="#">Print Media</a></li>
<li><a href="#">Graphic Design</a></li>
</ul>
</nav>

CSS代码
下面的CSS代码在桌面版上已经可以实现了,我们注意到里面使用了inline-block替换了float:left;来作为列表形式,那是因为inline-block可以使得菜单按钮可以在UL里面居中或者居右。

 代码如下 复制代码

/* nav */
.nav {
position: relative;
margin: 20px 0;
}
.nav ul {
margin: 0;
padding: 0;
}
.nav li {
margin: 0 5px 10px 0;
padding: 0;
list-style: none;
display: inline-block;
}
.nav a {
padding: 3px 12px;
text-decoration: none;
color: #999;
line-height: 100%;
}
.nav a:hover {
color: #000;
}
.nav .current a {
background: #999;
color: #fff;
border-radius: 5px;
}居中或者居右
/* right nav */
.nav.right ul {
text-align: right;
}

/* center nav */
.nav.center ul {
text-align: center;
}

支持IE浏览器
IE9以下浏览器不支持<nav>标签,我们可以引入js来实现支持,如果你不想使用js,可以将nav改为div

 代码如下 复制代码
<!--[if lt IE 9]> <script src="http://css3-mediaqueries-js.googlecode.com/files/css3-mediaqueries.js"></script>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->

自适应
如果你还不清楚自适应网页设计,可以看之前我们写过的文章,响应式设计流程

在600以下的窗体中,我将nav下面的UL改为固定,然后隐藏掉下面的子级菜单,保留.current的子级菜单,同时在鼠标滑过的时候显示所有的子级菜单,同时修改了.current的子级菜单样式。

而居中和居右,则是通过对UL的position来设置的。具体请对照代码

 代码如下 复制代码

@media screen and (max-width: 600px) {
.nav {
position: relative;
min-height: 40px;
}
.nav ul {
width: 180px;
padding: 5px 0;
position: absolute;
top: 0;
left: 0;
border: solid 1px #aaa;
background: #fff url(images/icon-menu.png) no-repeat 10px 11px;
border-radius: 5px;
box-shadow: 0 1px 2px rgba(0,0,0,.3);
}
.nav li {
display: none; /* hide all <li> items */
margin: 0;
}
.nav .current {
display: block; /* show only current <li> item */
}
.nav a {
display: block;
padding: 5px 5px 5px 32px;
text-align: left;
}
.nav .current a {
background: none;
color: #666;
}

/* on nav hover */
.nav ul:hover {
background-image: none;
}
.nav ul:hover li {
display: block;
margin: 0 0 5px;
}
.nav ul:hover .current {
background: url(images/icon-check.png) no-repeat 10px 7px;
}

/* right nav */
.nav.right ul {
left: auto;
right: 0;
}

/* center nav */
.nav.center ul {
left: 50%;
margin-left: -90px;
}

}

这篇教程是来自国外的一个站点,在这里,我觉得他这个思路非常新颖而且非常合理,代码也写得比较清晰,值得以后设计这类菜单的时候用这种方式

时间: 2024-07-30 09:21:11

css 导航菜单实现代码的相关文章

纯css导航菜单效果代码(兼容所有浏览器)

About Me Lorem ipsum dolor Maecenas lacinia sem Suspendisse fringilla Portfolio Lorem ipsum dolor Maecenas dignissim fermentum luctus Suspendisse fringilla Lorem ipsum dolor Maecenas lacinia sem Suspendisse fringilla Clients Lorem ipsum dolor Maecena

css 导航菜单代码

提示:您可以先修改部分代码再运行 css 导航菜单代码 Home Single Level Dropdown Dropline Flyout Support Contact 提示:您可以先修改部分代码再运行

经典css 导航菜单代码

提示:您可以先修改部分代码再运行 经典css 导航菜单代码 Home Single Level Dropdown Dropline Flyout Support Contact 提示:您可以先修改部分代码再运行

css导航菜单源码

提示:您可以先修改部分代码再运行 css导航菜单源码 Home Single Level Dropdown Dropline Flyout Support Contact 提示:您可以先修改部分代码再运行

js实现的黑背景灰色二级导航菜单效果代码_jquery

本文实例讲述了js实现的黑背景灰色二级导航菜单效果代码.分享给大家供大家参考.具体如下: 这是一款js实现的黑背景灰色二级导航菜单,兼容IE6.firefox的js+css横向二极导航菜单.挺简洁,不过很清新,二级菜单是水平显示在主菜单的下方,采用流行的微软雅黑字体,若不想用这种字体,可换成默认的宋体即可. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-black-bgcolor-2level-nav-style-codes/ 具体代码如

js 二级横向滑动导航菜单效果代码

提示:您可以先修改部分代码再运行 js 二级横向滑动导航菜单效果代码 网站首页 JS代码 电子商务 免费模板 建站技巧 CSS技巧 CSS导航菜单 网络营销 SEO优化 免费模板-网页模板下载 网站公告:免费模板征集友情链接 免费模板 免费模板 免费模板 免费模板 免费模板 网页特效 免费模板 免费模板 网络营销 网络营销 网络营销 网络营销 网络营销 网页特效 免费模板 网页特效 网络营销 网络营销 免费模板 服务器租用首页 网络营销 网络营销 超级机房 免费模板 免费模板 免费模板 免费模板

js实现带圆角的两级导航菜单效果代码_javascript技巧

本文实例讲述了js实现带圆角的两级导航菜单效果代码.分享给大家供大家参考.具体如下: 这是一款使用JS做的圆角菜单,支持两级菜单显示,本人比较喜欢的风格,修改使用方便,新手也能上手快.使用有几张圆角图片来修饰了菜单,喜欢的朋友可以下载代码留作收藏使用.真心不错的蓝色导航条代码. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-cicle-nav-menu-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC

js实现仿爱微网两级导航菜单效果代码_javascript技巧

本文实例讲述了js实现仿爱微网两级导航菜单效果代码.分享给大家供大家参考.具体如下: 这是一款仿爱微网两级导航菜单,tab选项卡形式的导航菜单,原生js做的tab选项卡型的导航菜单,需要鼠标点击才切换出二级子菜单,可修改成鼠标移过去就更换内容的形式. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-fawei-web-nav-menu-style-codes/ 具体代码如下: <html> <head> <title&g

jQuery实现简单的列表式导航菜单效果代码_jquery

本文实例讲述了jQuery实现简单的列表式导航菜单效果代码.分享给大家供大家参考.具体如下: 这里使用jQuery实现简单的列表式导航菜单,是根据网上的一个教程,边看边写的,经过了修正,拷贝代码即可使用.主要实现包括三个部分,一是CSS.二是引入jQuery.三是编写JS代码进行jQuery控件. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-simple-list-style-nav-menu-codes/ 具体代码如下: <h