html 导航菜单太宽,纯CSS实现兼容IE7及以上宽度自适应无限级导航菜单附演示

本文介绍了如何使用纯CSS和少量JavaScript创建响应式无限级导航菜单,包括自适应宽度、多级子菜单布局及IE6兼容性处理。通过代码实例详细展示了导航的结构和CSS关键样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先来个Demo:

https://www.jb51.net/jiaoben/111258.html

好吧,我承认,我有点标题党了,IE7的兼容并不是特别好,当鼠标离开某个导航再进入时,会留下上一次子菜单的残影(写的好像玄幻小说似的=。=)

不过纯属研究,O(∩_∩)O哈哈~

宽度自适应是指各级菜单都可以随内容的长度自行适应宽度,而当浏览器分辨率较低时一级导航也可以自动换行,而多级子菜单靠左显示还是得手动调整。

DOM结构比较简单,只是 ol.nav 与 li.item 的互相嵌套而已。

看代码吧(长是长了点,但其实你会发现导航的标签结构真的真的很简单,重要的是CSS部分):

复制代码代码如下:

无限级纯CSS导航菜单

.nav{

margin: 0;

padding: 0;

float: left;

list-style: none;

background: #222;

}

.nav a{

color: #ddd;

display: block;

padding: 0 15px;

text-decoration: none;

}

.nav a:hover{

color: #2FAADD;

}

.nav .item{

margin: 0;

padding: 0;

float: left;

height: 35px;

line-height: 35px;

white-space: nowrap;

}

.nav .item:hover>a{

color: #2FAADD;

}

.nav .item:hover>.nav{

display: block;

}

.nav .nav{

top: 100%;

left: 0;

display: none;

background: #444;

position: absolute;

border: 1px solid #888;

}

.nav .nav .item{

clear: both;

min-width: 100%;

}

.nav .nav .nav{

top: -1px;

left: 100%;

}

.nav .nav .nav .nav .nav .nav{

left: auto;

right: 100%;

}

不过如果要探讨实用性的话,还是需要用JavaScript来兼容IE6下li不支持hover伪类的BUG,改动也很简单,也来个Demo:

https://www.jb51.net/jiaoben/111260.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值