html实现导航下拉菜单绝对定位,纯CSS导航下拉效果,神奇的定位与显示属性

本文介绍了如何使用CSS实现导航菜单的下拉效果,无需JavaScript。通过分析需求,使用定位(position)、显示/隐藏(display)和伪类(:hover)三个关键点,详细解释了如何创建一个简单的下拉菜单,并探讨了这种方法的优缺点。

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

导航下拉,大家首先想到的是用JS来做。或许是大家看到的下拉菜单演示,多是JS控制的下拉,导致从先入为主的意识上,误以为二级下拉是很难的东西,必须要会Javascript才能做。

其实,一个简答的下拉效果,根本不需要JS也能做。比如,我目前在用的Yuan,以及之前用的趣儿等,所用的下拉,都是利用CSS来做,而且还是CSS2,兼容性也不错(除了IE6)。

74b1dd80f9302a5950b1f019cded3607.png

在分享CSS效果之前,我觉得,应该对当前的需求,做一个分析,这样能够更加理解为什么要运用的这些CSS属性。

逻辑:有一个一级导航是可见的;而要下拉的二级导航在未触发设定的条件之前,是不可见的。其中二级导航的逻辑一般都是:li一级导航>ul>li二级导航

条件:当我们的鼠标移到一级导航上时,二级导航显示(变为可见的)。

在常见的导航中,大多都是使用的ul>li的结构做的导航条。在忽略条件的情况下,如果要正常显示二级导航,那么就应让二级导航下拉出现在对应的位置。无疑,此处应该采用的是CSS的定位,即position属性。

再来分析一下,position有哪些属性值:relative(相对定位)、absolute(绝对定位)、static(正常的)、fixed(基于浏览器窗口固定的)。

要在对应一级导航下面出现二级导航,我们就需要使用absolute绝对定位来帮助我们定位,根据绝对定位是依据前一个relative(如果没有,就是根据当前html文档)来做的绝对定位。所以,在代码中要为一级导航的li选择器声明内,添加一个position:relative;。li {position:relative;width:100px;height:40px;}/*此处假设宽为100px,高为40px*/

在添加完以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值