【发布时间】:2016-12-04 01:18:48
【问题描述】:
我通过 D3 创建了一个 svg,但 CSS 没有得到正确应用
我正在寻找两个 svg 一个在另一个之下,所以我给了 margin-left 和 margin-top 但没有运气
我在 chrome 中尝试它不工作,但在小提琴中同样有效
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>D3 Test</title>
<script type="text/javascript" src="D3lib/d3.js"></script>
<style type="text/css">
.svg_class {
margin-left:0px;margin-top:70px;background-color:green;
}
.svg_class1 {
margin-left:0px;margin-top:0px;background-color:green;
}
</style>
</head>
<body>
<script type="text/javascript">
// One way
var width = 500,
height = 50;
var dataset = [5,10,15,20,25];
var svg = d3.select("body")
.append("svg")
.attr("id","svg_1")
.attr("width",width)
.attr("height",height)
.attr("class","svg_class1");
var circle = d3.select("#svg_1")
.selectAll("circle")
.data(dataset)
.enter()
.append("circle");
circle.attr("cx",function(d,i){
return (i * 50) + 25;
})
.attr("cy",height/2)
.attr("r",function(d){
return d;
});
// Other way
var w = 500, h = 50;
var data = [5,10,15,20,25,30];
d3.select("body")
.append("svg")
.attr("id","svg_2")
.attr("width",w)
.attr("height",h)
.attr("class","svg_class");
d3.select("#svg_2")
.selectAll("circle")
.data(data)
.enter()
.append("circle")
.attr("cx",function(d,i){
return (i * 50) + 25;
})
.attr("cy",h/2)
.attr("r",function(d){
return d;
});
</script>
</body>
这里是fiddle链接
【问题讨论】:
-
在 Firefox 上似乎可以正常工作。
-
你能分享这张照片吗?我期待一个 svg 块在另一个不平行的 svg 块下
-
这就是我看到的一个块在另一个块下,麻烦的是绿色背景,块之间有一些分离。
-
您使用的是哪个版本。我猜可能是版本支持
-
我正在使用 Firefox 47。如果小提琴有效,那么我们将无法为您提供帮助。您需要创建一些实际显示您的问题的内容。