React Navbar组件CSS Hover效果失效问题求助
解决React导航栏hover失效问题
问题根源
你已经通过开发者工具定位到核心原因:heroImg div覆盖在导航栏上方。这会导致鼠标的hover事件被heroImg拦截,无法传递给下方的导航链接;而logo的cursor:pointer能生效,大概率是heroImg未完全覆盖logo区域,或是logo元素的层级未被完全遮挡。
解决方案
给导航栏(nav)设置更高的层级,确保它显示在heroImg上方,让鼠标事件能正常触发:
修改styles.css中nav的样式,添加z-index属性(若需要,配合position: relative):
nav { display: flex; justify-content: space-around; align-items: center; padding: 1.3rem 0.5rem; height: 1.3rem; background: rgb(2, 0, 36); background: linear-gradient( 90deg, rgba(2, 0, 36, 1) 0%, rgba(9, 9, 189, 1) 73%, rgba(0, 212, 255, 1) 100% ); /* 添加层级控制 */ position: relative; z-index: 100; }
补充说明
- 如果heroImg本身设置了
z-index(比如z-index: 50),需要将nav的z-index设为比它更大的值(比如z-index: 100)。 z-index仅对非static定位的元素生效,所以必须配合position: relative/absolute/fixed使用,否则层级设置不会生效。
修改完成后,导航栏会覆盖在heroImg上方,hover效果即可恢复正常。
内容的提问来源于stack exchange,提问作者mjshubham21
相关产品推荐
相关产品推荐

