【发布时间】:2013-07-28 08:30:47
【问题描述】:
我正在使用 svg/d3 创建一个由“rect”元素组成的图表。
为每个矩形(仅在矩形顶部)添加部分边框/描边的最佳方法是什么?
谢谢
【问题讨论】:
-
你的意思是像 dasharray 属性吗?
标签: javascript html svg d3.js stroke
我正在使用 svg/d3 创建一个由“rect”元素组成的图表。
为每个矩形(仅在矩形顶部)添加部分边框/描边的最佳方法是什么?
谢谢
【问题讨论】:
标签: javascript html svg d3.js stroke
我认为 SVG 不支持仅对矩形或路径的部分进行描边 - 描边不像 CSS 边框。您还有其他一些选择,所有这些都需要一些额外的工作:
描边整个rect 并应用clipPath 以删除其他三个边缘 - 如果您使矩形比必要的大,可能效果最好。
对每个矩形应用linear gradient 填充,使用渐变定义在形状顶部显示“边框”。
添加一个单独的line 元素作为每个rect 的边框。
使用stroke-dasharray 属性(docs) 设置破折号定义,其中“破折号”仅覆盖rect 的顶部。这可能很难做到正确,但我怀疑它不会太难,因为笔触可能从形状的左上角开始。
【讨论】: