css - 如何使用 d3.js 为 rect 应用 "background: repeating-linear-gradient"样式

标签 css d3.js svg

我在使用 d3 为 rect 复制 repeating-linear-gradient 样式时遇到问题。

例如: 我有以下 div 样式:

.colorbarssegment{ 
     background: repeating-linear-gradient( to right, 
                        #c0c0c0, #c0c0c0 4px, 
                        #c0c000 4px, #c0c000 8px, 
                        #00c0c0 8px, #00c0c0 12px, 
                        #00c000 12px, #00c000 16px, 
                        #c000c0 16px, #c000c0 20px, 
                        #c00000 20px, #c00000 24px, 
                        #0000c0 24px, #0000c0 28px);
 }

当我在 div 中使用类时:

<div class="colorbarssegment" style="width: 200px; height: 20px;"></div>

它看起来像: enter image description here

如何在 d3.js 中为 rect 应用相同的样式?

最佳答案

您必须按照本页所述在您的 SVG 中定义一个模式: https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Patterns

我创建了一个 fiddle ,其模式与您需要的类似: http://jsfiddle.net/11k570ud/

之后,你给 rect 属性:

fill="url(#yourPatternID)"

您可以将其包含在 svg 代码中,或使用 D3.js 添加。可以找到有关如何执行此操作的说明 here (这篇文章使用渐变,但模式的工作方式非常相似)。

关于css - 如何使用 d3.js 为 rect 应用 "background: repeating-linear-gradient"样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36469101/

相关文章:

css - 使用 gulp 在相同结构的多个目录中编译 SASS

javascript - 为什么要将 D3 源代码复制到 Angular 服务中?

javascript - 使用 underscorejs 和 d3 数据进行过滤

javascript - #container 在第三次#btnAdd 单击后向左移动?

css - 与容器相比如何缩放文本大小

python - python的scrapy如何使用css选择器提取url?

javascript - 编辑 D3 Sunburst 可视化的 innerRadius

html - 如何创建像 font awesome 这样的图标

css - 缩放 SVG clipPath 并保持图像的纵横比

javascript - 使用 jQuery 从对象标签中选择 ChildElement