html - 如何缩放我的 SVG 以适应 d3 中其容器 div 的大小?

标签 html css svg

有没有办法让我的 SVG 缩放到 #mapDiv 的尺寸?

HTML:

<div id="mapDiv">
    <svg id="mapSVG" width="960" height="600" viewbox="0 0"></svg>
</div>

JS:

var svg = d3.select("#mapSVG"),
    width = +svg.attr("width"),
    height = +svg.attr("height");

CSS:

#mapDiv{
    border: 2px solid #000;
    border-radius: 7px;
    float: left;
    width: 50%;
}

#mapSVG{
    display: block;
    margin: auto;
}

顺便说一句,我不需要在调整页面大小时缩放 SVG。只要 SVG 在页面加载时缩放到 div 大小,这对我来说就足够了。

最佳答案

如果您正在寻找 CSS 解决方案,只需为您的 #mapDiv 指定一个固定的 heightwidth,然后让 svg 元素占用 100% 的宽度和高度。这可以从以下方面看出:

#mapDiv {
  height: 50px;
  width: 50px;
}

#mapDiv > svg {
  border: 5px solid black;
  width: 100%;
  height: 100%;
}
<div id="mapDiv">
  <svg id="mapSVG" width="960" height="600" viewbox="0 0 960 600">
  </svg>
</div>

希望对您有所帮助! :)

关于html - 如何缩放我的 SVG 以适应 d3 中其容器 div 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47540655/

相关文章:

javascript - 如何使用 JavaScript 根据用户输入的值检查数组值?

JavaScript 告诉谁发送了电子邮件,但我没有收到

css - 如何从单选按钮隐藏圆圈并仅在qt中显示图标?

html - 将 <li> 文本与列表图像对齐

html - 使用变换倾斜将 2 个 div 并排放置

html - 如何创建带虚线边框的圆形 svg 进度条

javascript - 具有 ID 的 DOM 树元素会成为全局属性吗?

html - 我怎样才能向上移动一个 div 和它后面的所有 div?

html - 我在调用要在 svg 中使用的标签时遇到问题

javascript - 有没有 jsPlumb 的替代品? (为了连接 DOM 元素)