添加UI与HP栏后HTML/CSS游戏按钮无法点击问题求助
按钮无法点击的原因及修复方案
你的按钮无法点击的核心原因是**.user-interface元素覆盖了整个容器区域**:它的CSS设置了position: absolute; top: 0; left: 0; right: 0; bottom: 0;,同时z-index:20的层级高于按钮所在的.bottom,这个透明容器会拦截所有点击事件,导致下方的按钮无法被触发。
修复方案一(推荐):调整.user-interface的定位逻辑
由于内部的.stat已经是绝对定位,.user-interface不需要占满整个容器,修改其CSS:
.user-interface { z-index: 20; position: relative; /* 改为相对定位,作为.stat的定位参考 */ /* 移除top/left/right/bottom和flex相关设置 */ }
这样.user-interface不会覆盖容器下方的按钮区域,同时.stat的绝对定位依然有效(相对父容器.container定位)。
修复方案二:让.user-interface不拦截点击事件
如果需要保留.user-interface的全屏定位,给它添加pointer-events: none;,同时让内部需要交互的元素恢复点击能力:
.user-interface { z-index: 20; display: flex; flex-direction: column; position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; /* 容器本身不拦截点击 */ } .stat { background-color: white; width: 200px; height: 70px; position: absolute; top: 20px; left: 20px; border: 4px black dotted; padding: 5px; pointer-events: auto; /* 让.stat区域可以正常交互(如果需要) */ }
额外修复:HTML标签错误
你的.bottom标签闭合错误,应该是</div>而非<div>,这个问题可能导致布局异常,修正后:
<div class="bottom"> <div id="text" class="text">Text</div> <div id="option-buttons" class="btn-grid"> <button class="btn">Option 1</button> <button class="btn">Option 2</button> <button class="btn">Option 3</button> <button class="btn">Option 4</button> </div> </div> <!-- 修正闭合标签 -->
内容的提问来源于stack exchange,提问作者Peuyela
相关产品推荐
相关产品推荐

