导航栏与图片滚动重叠问题求助:已设置fixed及z-index仍无效
导航栏固定后被图片穿透的问题解决方法
问题核心是你给导航栏加了position: fixed和z-index:1,但没设置背景色,导航栏默认是透明状态,所以图片会“穿透”显示出来,看起来像是导航栏背景变成了图片。
直接修改.header-top的CSS,加上背景色即可,比如白色:
.header-top{ box-shadow: 0px 5px 8px -2px rgba(0,0,0,0.75); position: fixed; width: 100%; top: 0; left: 0; padding: 6px 0px; z-index: 1; background-color: #ffffff; /* 新增背景色 */ }
另外补充两个实用细节:
- 你给
#home设置的top:23px,建议换成给body加padding-top,数值匹配导航栏的实际高度(比如导航栏高度+内边距总和),这样能更稳妥地避免页面顶部内容被固定导航栏遮挡。 - 如果后续调整导航栏背景色,记得同步检查文字颜色,保证可读性。
修改后的完整CSS参考:
.header-top{ box-shadow: 0px 5px 8px -2px rgba(0,0,0,0.75); position: fixed; width: 100%; top: 0; left: 0; padding: 6px 0px; z-index: 1; background-color: #ffffff; height: 30px; /* 可选,明确导航栏高度 */ } .meny{ float: right; word-spacing: 26px; padding: 0px 25px 0px 0px; } .meny-link{ color: black; text-decoration: none; letter-spacing: 3px; } .br{ padding: 0px 0px 0px 10px; font-weight: bold; } body{ margin: 0; /* 去掉浏览器默认边距 */ padding-top: 42px; /* 匹配导航栏高度+内边距,避免内容被遮挡 */ } #home{ position: relative; z-index: 0; } .image img{ width: 100%; height: 675px; }
内容的提问来源于stack exchange,提问作者Jasir Limani
相关产品推荐
相关产品推荐

