【问题标题】:Partial border/stroke using SVG使用 SVG 的部分边框/描边
【发布时间】:2013-07-28 08:30:47
【问题描述】:

我正在使用 svg/d3 创建一个由“rect”元素组成的图表。

为每个矩形(仅在矩形顶部)添加部分边框/描边的最佳方法是什么?

谢谢

【问题讨论】:

标签: javascript html svg d3.js stroke


【解决方案1】:

我认为 SVG 不支持仅对矩形或路径的部分进行描边 - 描边不像 CSS 边框。您还有其他一些选择,所有这些都需要一些额外的工作:

  • 描边整个rect 并应用clipPath 以删除其他三个边缘 - 如果您使矩形比必要的大,可能效果最好。

  • 对每个矩形应用linear gradient 填充,使用渐变定义在形状顶部显示“边框”。

  • 添加一个单独的line 元素作为每个rect 的边框。

  • 使用stroke-dasharray 属性(docs) 设置破折号定义,其中“破折号”仅覆盖rect 的顶部。这可能很难做到正确,但我怀疑它不会太难,因为笔触可能从形状的左上角开始。

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    • 1970-01-01
    相关资源
    最近更新 更多