将css应用于轴的刻度线和线

时间:2016-10-16 19:07:49

标签: javascript css d3.js

我在css(代码行108)中有这个:

.domain {
    fill: 'none';
    stroke-width: 0.7;
    stroke: 'black';
}

.tick {
    fill: 'none';
    stroke-width: 0.7;
    stroke: 'black';
}

这是在javascript(代码行358)中:

// Add y axis with ticks and tick markers
var axisPadding = 2;
var leftAxisGroup = svg
    .append('g')
    .attr({
        transform: 'translate(' + (margin.left - axisPadding) + ',' + (margin.top) + ')',
        id: "yAxisG"
    });
var axisY = d3.svg.axis()
    .orient('left')
    .scale(yScale);
leftAxisGroup.call(axisY);

为什么风格没有被应用?如何确保应用它?

完整的脚本和上下文位于:https://plnkr.co/edit/aSgNLb?p=preview

1 个答案:

答案 0 :(得分:1)

上面的CSS可以改为

selector {
    fill: none; /* no quotes */
    stroke: black;  /* no quotes */
}

关键字值是标识符,必须按原样使用,不带引号。当放在引号内时,这些变成了在其属性的值定义下没有意义的字符串。因此,它不被UA /浏览器解析为有效。

CSS规范
Textual Values& strings

  

不能引用标识符;否则它们将被解释为字符串。

脚注:SVG的填充和描边属性:https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint