初学者的问题。当我尝试更改svg属性时,为什么颜色变量color.svg
不起作用?其他所有工作:其他颜色(稍后添加的圆圈),以及svg(sizing taken from here)的大小。
常量:
// colors
var color = {svg: "black",
drop0: "rgba(204, 204, 255, 1)",
drop1: "orange"};
// margins
var margin = {top: 20, right: 10, bottom: 20, left: 10};
var width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
现在我制作一个svg并尝试设置属性。
// svg
var svg = d3.select("body").append("svg")
.attr({width: width + margin.left + margin.right,
height: height + margin.top + margin.bottom,
fill: color.svg})
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
// followed by stuff about adding shapes, etc, which work
我不想在CSS中设置它。浏览器不会抛出任何错误。除了这些线条之外,我已经注释掉了所有内容,并且svg仍然没有涂成黑色。
答案 0 :(得分:1)
SVG的容器没有“填充”,而是具有“样式”。只需将其替换为:
var color = {
svg: "black",
drop0: "rgba(204, 204, 255, 1)",
drop1: "orange"
};
// margins
var margin = {
top: 20,
right: 10,
bottom: 20,
left: 10
};
var width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
//Now I make an svg and try set attributes.
// svg
var svg = d3.select("body").append("svg")
.attr("width", 900)
.attr("height",600)
.style("background-color", color.svg) // <---- HERE
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
答案 1 :(得分:0)
background-color
。