我能使用z-index来将各种HTML元素按照任意顺序放置在彼此上方,但是当其中一个元素是内联SVG时除外。例如,给定以下HTML代码:
无论我如何调整这两个元素的顺序或者z-index,内联SVG总是渲染在文本之上。我该如何让SVG在文本后面呢?
以上示例可以在https://jsfiddle.net/o0n10j78/1/找到。
如果有关系的话,在我的实际应用中,我使用jQuery在Javascript中生成了几乎所有的文档结构,包括内联SVG和我希望放在其前面的HTML块。
<div>
<p>Text before SVG. I'm some boring text. Such incredibly boring text. Who would possibly want to read such boring text?</p>
<svg version="1.1" baseProfile="full" width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="75" cy="40" r="20" fill="red" />
</svg>
</div>
<div>
<svg version="1.1" baseProfile="full" width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="75" cy="75" r="20" fill="red" />
</svg>
<p>SVG before text. I'm some boring text. Such incredibly boring text. Who would possibly want to read such boring text?</p>
</div>
和相应的CSS
p {
width: 200px;
z-index:10;
}
div {
position: relative;
}
svg {
position: absolute;
left: 0;
top: 0;
z-index: 1;
}
无论我如何调整这两个元素的顺序或者z-index,内联SVG总是渲染在文本之上。我该如何让SVG在文本后面呢?
以上示例可以在https://jsfiddle.net/o0n10j78/1/找到。
如果有关系的话,在我的实际应用中,我使用jQuery在Javascript中生成了几乎所有的文档结构,包括内联SVG和我希望放在其前面的HTML块。