如何使图标在绝对定位场景下显示于红色遮罩层上方?
解决图标被红色遮罩遮挡的问题
你的核心问题是元素堆叠顺序冲突:绝对定位的红色遮罩#buttonsoverlay默认堆叠层级高于图标容器,导致图标被完全遮挡。以下是快速解决方法,附带代码规范优化建议:
快速修复:调整堆叠层级
给图标所在的#container2设置更高的z-index,让它覆盖在红色遮罩上方:
#container2 { position: absolute; z-index: 10; /* 只要数值大于红色遮罩的层级即可,10足够 */ }
如果后续遇到其他层级冲突,也可以给红色遮罩明确设置更低的层级(默认auto的话已经低于设置了z-index的元素,这一步可选):
#buttonsoverlay { /* 原有属性保留 */ z-index: 1; }
这样修改后,图标会显示在红色形状上方,同时蓝黑形状的位置不会受影响。
代码规范优化建议
- 统一单位:现在代码里混用了
rem和px,建议优先用rem,提升页面适配性 - 修正命名问题:
forthbtn拼写错误(应为fourthbtn),iconsclass可以简化为icon,更符合命名习惯 - 移除内联样式:把图标宽度的内联样式移到CSS类中,便于统一维护:
.iconsclass { margin: 25px; width: 40px; /* 从HTML内联样式移到这里 */ }
- 简化DOM结构:
#icons容器可以直接合并到#container2的样式设置中,减少不必要的嵌套
内容的提问来源于stack exchange,提问作者South
相关产品推荐
相关产品推荐

