将svg元素放置在另一个元素顶部的较高位置
Position svg element higher on top of another element
我知道这个问题在其他地方已经得到了回答,因为我已经看过了,但我找不到任何东西,很抱歉发布了以前问过的问题。
我只需要在画布元素上添加一个透明的svg元素,但无论何时添加,svg都会在画布下,无论我尝试如何定位和z索引。
提前感谢您的帮助,很抱歉我的新手问题,我是编码新手。以下是我认为合适的代码:
这是css:
canvas {
position: absolute;
top: 0px;
left: 0px;
}
和canvas的javascript:
var width = screen.width;
var height= screen.height;
canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
canvas.width = width;
canvas.height = height;
最后是我用于创建和附加元素的javascript:
function getCanvas(canvas) {
var top = canvas.css('top');
var left = canvas.css('left');
var canvaswidth = canvas.width();
var canvasheight = canvas.height();
var svg = $('<svg>Hey</svg>').attr({
'xmlns': 'http://www.w3.org/2000/svg',
'width': canvaswidth,
'height': canvasheight,
'top': top,
'left': left,
'position': 'absolute',
'opacity': 1,
'id': 'svg'
});
svg.css({backgroundColor: 'black', 'z-index': 10});
svg.insertAfter(canvas);
}
谢谢!
您根本不需要z-index
,因为svg在您的画布元素之后。
问题在于属性position
的设置方式不正确。它被设置为属性,而不是样式属性。
canvas = $('#canvas');
var svg = $('<svg><text x="50" y="50">Hey</text></svg>').attr({
xmlns: 'http://www.w3.org/2000/svg',
id: 'svg'
}).css({
position: 'absolute',
top: canvas.css('top'),
left: canvas.css('left'),
width: canvas.width(),
height: canvas.height(),
opacity: 1,
});
svg.insertAfter(canvas);
canvas {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<canvas id="canvas"></canvas>
相关文章:
- Mootools:如何在点击时保持元素高亮显示并停止所有事件
- 如何使用jQuery对固定元素的位置进行动画处理
- 茉莉花和元素的位置
- 如何在不创建新元素的情况下修改 DOM 元素的位置
- 是否可以模拟带有“位置:相对”的元素的“位置:绝对”放置
- 使用jQuery相对于元素的位置滑动元素
- 在单独的容器中拖放,并调整放置的元素的位置
- 获取iframe中元素的Y位置
- 查找javascript对象中元素的位置
- 如何使内部元素具有位置:绝对覆盖溢出:隐藏外部元素
- 如何确保元素的位置在引导程序2中是固定的
- 将HTML元素的位置更改为另一个位置javascript
- 拖动元素时,如何获取要替换的元素的位置
- 获取所选元素的位置,而不是 DOM 中元素的索引
- 将svg元素放置在另一个元素顶部的较高位置
- 停止动画并重置拉斐尔.js中元素的位置
- 使用 Jquery 在鼠标单击时反转表单元素的位置
- 使用 javascript 查找 html 页面中元素的位置
- Javascript / 根据一个元素的位置定位另一个元素
- 如何找到DOM层次结构中哪个元素的位置更高