相关疑难解决方法(0)

SVG:为什么外部css会覆盖文本的内联样式?

我正在使用SVG gradientFill作为在d3.js图表​​中直观地"截断"长文本字符串的方法.

似乎填充的外部CSS样式将覆盖SVG中的内联渐变填充样式...总是这样吗?如何强制执行渐变填充?

在这个测试用例中,我在svg defs中定义了一个线性渐变,然后将渐变填充应用于两组文本.http://jsfiddle.net/rolfsf/uX2kH/3/

var labelColWidth = 200;
var svg =  d3.select('#test').append('svg')
            .attr('width', 500)
            .attr('height', 500);

var defs = svg.append('svg:defs');

var textgradient = defs.append('svg:linearGradient')
            .attr('gradientUnits', 'userSpaceOnUse')
            .attr('x1', 0).attr('y1', 0).attr('x2', 40).attr('y2', 0)
            .attr('id', 'theGradient')
            .attr('gradientTransform',  'translate(' + (labelColWidth - 40) + ')');

    textgradient.append('svg:stop').attr('offset', '0%').attr('style', 'stop-color:rgb(0,0,0);stop-opacity:1')
    textgradient.append('svg:stop').attr('offset', '100%').attr('style', 'stop-color:rgb(0,0,0);stop-opacity:0');


var data = [[0, "xyzzy xyzzy"], [1, "xyzzy xyzzy xyzzy xyzzy xyzzy"], [2, "xyzzy xyzzy xyzzy xyzzy xyzzy xyzzy"], [3, "xyzzy xyzzy xyzzy"], [4, "xyzzy xyzzy"], [5, "xyzzy xyzzy xyzzy xyzzy …
Run Code Online (Sandbox Code Playgroud)

css svg gradient d3.js

26
推荐指数
2
解决办法
8996
查看次数

标签 统计

css ×1

d3.js ×1

gradient ×1

svg ×1