【发布时间】:2018-06-11 16:16:16
【问题描述】:
嵌套在foreignobject svg 中没有出现。我在这里做错了什么?
var svg = d3.select("#drawRegion")
.append("svg")
.attr("width", "100%")
.attr("height", "100%");
svg.append("rect")
.attr("x", "0")
.attr("y", "0")
.attr("width", "100%")
.attr("height", "100%")
.attr("fill", "yellow");
var fObj = svg.append("foreignobject");
fObj
.attr("x", "10%")
.attr("y", "10%")
.attr("width", "80%")
.attr("height", "80%")
.attr("viewBox", "0 0 80 80")
.attr("preserveAspectRatio", "xMidYMin slice");
var scrollDiv = fObj.append("div");
scrollDiv
.style("width", "100%")
.style("height", "100%")
.style("overflow", "scroll");
var scrollSvg = scrollDiv
.append("svg");
scrollSvg
.attr("x", 0)
.attr("y", 0)
.attr("width", "500%")
.attr("height", "500%");
var rectP = scrollSvg
.append("rect");
rectP
.attr("x", 0)
.attr("y", 0)
.attr("width", "100%")
.attr("height", "100%")
.attr("fill", "cyan");
<div id="drawRegion">
</div>
<script src="https://d3js.org/d3.v5.min.js"></script>
</svg>
我期待添加主要的svg -> foreignobject -> div -> svg。通过这样做,我希望得到一个嵌套的可滚动svg 元素。但由于某些原因,以foreignobject 开头的所有内容都不会显示。我不知道该尝试什么。
检查控制台后,我没有发现任何错误。
Here 是一个 jsfiddle。
【问题讨论】:
-
@RobertLongson,没有。这并没有帮助。据我所知,
svg并不关心foreignobject中的情况。例如here.
标签: html d3.js svg nested scrollable