javascript - 将边框添加到 SVG 路径 d3 javascript

标签 javascript css svg d3.js

我想让我的 svg 路径(线条)有边框,这样轮廓是黑色的,但内部是另一种颜色。线路代码:

self.lineFunction = function(dat) {
  var self = this
  var line = d3.svg.line().interpolate('linear');

  var data = dat.map(function(d) {
    return [self.xScale(d[0]), self.yScale(d[1].mean)];
  });

  return line(data);
}

self.lines = self.svg.selectAll('.line')
  .data(d3.keys(self.data), function(d) {return d})
  .enter()
  .append('path')
  .attr('d', function(d) {return self.lineFunction(self.data[d])})
  .attr('class', 'line')
  .style('stroke', 'blue')
  .style('stroke-width', '2')
  .style('fill', 'none');

最佳答案

前瞻性答案:如果支持 SVG2,您可以使用 paint-order属性(假设填充是不透明的):

.pathWithBorder {
  paint-order: stroke fill;
  stroke-width: 1.8;
  stroke: black;
  fill: blue;
}

这样就不需要复制 path 元素,笔画只会在形状外可见。

关于javascript - 将边框添加到 SVG 路径 d3 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20527186/

相关文章:

javascript - PHP if (isset($_POST ['' ])) +Jquery 在同一页面发送

php - Magento 分层导航 - 复选框

SVG 中的 HTML

html - 如何将 svg 填充效果应用于 div 类?

javascript - 使用 Material-UI 在 React.js 中打开和关闭抽屉

javascript - 显示/隐藏带有 CSS 过渡的可变高度面板不起作用

html - 使 div 网格填充其分配的空间

html - 为什么 "about us"和 "contact us?"之间有一个空格

svg - 如果两个部分不透明的形状重叠,我可以在它们重叠的地方只显示一个形状吗?

javascript - 如何在 CSS3 站点布局中将图像跨越多个列?