使用 D3 选择函数在 HTML 布局中正确对齐 SVG
Using D3 selection functions to properly align SVG in HTML layout
我在玩D3图表。
在我的<body>
标签中,我有:
<body>
<div id="divs" style="margin-left: 5px; width: 100%;">
<d1 style="float: left;"><big>Oil Consumption - Barrels (from 1965)</big></d1> <br><br>
<d1 style="float: left;">BP Statistical Review of World Energy, June 2015</d1> <br><br>
<div id="div"></div>
<div id="div1" style="float: left;"></div>
</div>
</body>
在我的 JavaScript 代码中,我有:
var svg = d3.select("body").append("svg").attr("width",700).attr("height",400);
问题是d3.select("body")
在最后一个div 之后垂直附加我的 svg 图表,而我想做的是将 svg 与div 水平对齐。
我该怎么做?
这是完整的Plunkr-> Plunkr
更新
我已经按照@Mark的建议尝试过,但它不起作用。这是完整的Plunkr -> Plunkr
var svg = d3.select("#divs")
.append("div")
.style("float","left")
.style("margin-left",400)
.style("width", "75%")
.append("svg")
.attr("width", 700)
.attr("height", 400);
如果我理解正确,您希望您的svg
位于 id 为div1 的div
的右侧。
使其正常工作,仅在div1 上设置 float: left
是不够的,它需要以 % 或 px 为单位的显式宽度。
其次,您需要将svg
设为 id 为divs 的div
子项,并将其包装在也以显式宽度浮动的div
中:
var svg = d3.select("#divs")
.append("div")
.style("float","left")
.style("width", "75%")
.append("svg")
.attr("width", 700)
.attr("height", 400);
更新 为了使您的代码正常工作,我必须将其修改为:
var svg = d3.select("#divs")
.append("div")
.style("margin-left", 400)
.style("margin-top", 50)
.style("width", "75%")
.append("svg")
.attr("width", 800)
.attr("height", 300);
和div <div id="div1" style="float:left; width: 25%;"></div>
这是结果-> http://plnkr.co/edit/8lU9fjRHLQjP5xI2PCBf?p=preview
相关文章:
- jquery移动对齐按钮取决于内容大小
- 如何在JavaScript图像滑块内居中对齐图像
- 为什么文本对齐:对;工作不正常
- 显示可链接的搜索结果+对齐方式
- 以Jquery为中心的Div中的图像对齐
- 无法将文本与图片垂直对齐
- 在这种情况下,如何正确对齐显示
- 使用jquery垂直对齐动态加载的图像
- 如何使 DIV 中的内容垂直对齐
- '填隙'当所述项目不在容器中时,将一些项目与引导程序网格对齐
- typeahead下拉结果向右对齐-向右拉
- css中的按钮对齐
- 类似文本锚的属性,用于对齐 SVG 或 G 元素
- 对齐 svg 动画分组路径
- 文本相对于 SVG 中的父项 G 右对齐
- 垂直对齐 svg 圆圈内的文本
- 使用 D3 选择函数在 HTML 布局中正确对齐 SVG
- 我如何将两个svg的顶部对齐到另一个svg的顶部?
- SVG网格渲染Chrome,Firefox,IE -错误的线对齐-模糊的线
- SVG在textPath上圈出文本(居中对齐)