gpt4 book ai didi

css - 如何在 svg 元素之上添加 HTML 控件?

转载 作者:行者123 更新时间:2023-12-02 20:42:40 25 4
gpt4 key购买 nike

基于以下 SO solution ,我正在显示一个 svg 元素,以便占据整个浏览器窗口。这工作得很好。但是,如果我还向窗口添加一个按钮,它就不再处理任何事件(例如单击)。我尝试使用按钮的 z 顺序,以便它显示在 svg 元素的顶部,但它不能解决问题。以下是我的布局的 HTML 代码:

<html lang="en">
<head>
<script src="scripts/jquery-3.2.1.min.js"></script>
<script src="scripts/snap.svg-min.js"></script>
<style>
html, body { margin:0; padding:0; overflow:hidden }
svg { position:fixed; top:0; left:0; height:100%; width:100% }
</style>
</head>
<body>
<div>
<input style="margin-top: 10px;margin-left:10px"; type="button" value="test"/>
</div>
<div class="output">
<svg id="root"></svg>
</div>
</body>
</html>

注意:通过尝试修改 SVG 元素的 zindex,按钮将再次变得可单击,但在这种情况下,SVG 元素不再处理事件。我需要一个两个元素都可以处理事件的解决方案

任何修复 CSS 的帮助将不胜感激!

最佳答案

好的,明白了:

向按钮和 svg 添加了 z-index,以便按钮显示在 svg 之上。请注意,如所解释的 here ,您需要对 z-index 使用正值,以便事件处理能够正常工作。此外,您还需要为要考虑的 z-index 提供一个 position 值。

<html lang="en">
<head>
<script src="scripts/jquery-3.2.1.min.js"></script>
<script src="scripts/snap.svg-min.js"></script>
<style>
html, body { margin:0; padding:0; overflow:hidden }
svg { position:fixed; z-index:1; top:0; left:0; height:100%; width:100% }
</style>
</head>
<body>
<div>
<input style="position:fixed; z-index:2; margin-top: 10px;margin-left:10px"; type="button" value="test"/>
</div>
<div class="output">
<svg id="root"></svg>
</div>
</body>
</html>

关于css - 如何在 svg 元素之上添加 HTML 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45609618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com