[英]Button becomes unresponsive inside fixed position div
I'm using position fixed on the #zoom-controls
so the button
would stay at the top of the screen as I scroll.我正在使用
#zoom-controls
上的固定位置,因此当我滚动时button
会停留在屏幕顶部。 Before I added position: fixed
to the div
, the buttons worked, but if I add position: fixed
the button
becomes unresponsive.在我添加
position: fixed
到div
,按钮工作,但如果我添加position: fixed
button
变得无响应。
After playing around with it on fiddlejs I found out that if you remove the svg
, which is a sibling of the buttons div, the button works even if the div is fixed.在 fiddlejs 上玩弄它之后,我发现如果你删除
svg
,它是按钮 div 的兄弟,即使 div 是固定的,按钮也能工作。 I need the svg
to stay.我需要留下
svg
。
Here is the code with the svg
and the position: fixed
- so it's not working:这是带有
svg
和position: fixed
的代码position: fixed
- 所以它不起作用:
var butt = document.getElementById('zoom_in'); butt.addEventListener('click', () => { var body = document.getElementById('body'); var p = document.createElement('p'); p.textContent = 'pressed'; body.appendChild(p); });
.draggable { cursor: move; } .pdf-page-canvas { display: block; margin: 5px auto; border: 1px solid rgba(0, 0, 0, 0.2); z-index: 0; } .canvas_container { width: 100%; /* height: 100%; */ z-index: 0; position: absolute; } #svg { position: absolute; z-index: 1; }
<!DOCTYPE html> <html> <head> <script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script> </head> <body id="body"> <div id="zoom-controls" style='position:fixed'> <button id="zoom_in">+</button> </div> <svg id="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" preserveAspectRatio="none"></svg> </body> </html>
Your button container is below all of the content.您的按钮容器位于所有内容下方。 Add
z-index
to it, and it will work.将
z-index
添加到它,它将起作用。
.draggable { cursor: move; } .pdf-page-canvas { display: block; margin: 5px auto; border: 1px solid rgba(0, 0, 0, 0.2); z-index: 0; } .canvas_container { width: 100%; /* height: 100%; */ z-index: 0; position: absolute; } #zoom-controls { z-index: 3; } #svg { position: absolute; z-index: 1; }
<body> <div id="zoom-controls" style='position:fixed'> <button id="zoom_in">+</button> </div> <svg id='svg' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" preserveAspectRatio="none"></svg> </body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.