导航栏z-index问题求助:滚动时被其他元素覆盖
解决导航栏下拉菜单被覆盖的问题
确认导航栏的定位属性:
z-index仅对设置了position: relative、absolute、fixed或sticky的元素生效。如果你的.main-nav没加这些定位值,z-index:999等于白设。先给.main-nav补上position: relative(固定导航用fixed/sticky),再设置z-index:999。检查父元素的堆叠上下文:如果导航栏的父元素创建了独立堆叠上下文(比如设置了
z-index+定位,或者用了transform、opacity、filter这类属性),那.main-nav的层级只会在这个父上下文里生效,没法覆盖外部元素。排查导航栏的所有父节点,移除不必要的transform/opacity属性,或者调整父元素的z-index保证它能覆盖其他内容。别给其他内容设负z-index:把其他元素
z-index设为-1会让它们脱离正常堆叠流,hover失效是必然的。问题根源在导航栏的堆叠逻辑,别乱改其他元素的层级。单独设置下拉菜单的层级:有时候遮挡问题出在
.resources下拉菜单本身,而非导航栏主体。给下拉菜单设置position: absolute(或对应定位)和z-index:1000(比导航栏层级稍高),确保它既在导航栏之上,又不被页面其他元素覆盖。定位遮挡元素:临时给页面中疑似遮挡的元素加上
background: rgba(255,0,0,0.5),直观看到哪个元素在挡导航栏,再针对性调整它的定位或层级。
内容的提问来源于stack exchange,提问作者Khushal Sumanth
相关产品推荐
相关产品推荐

