我正在为一个报告生成一些SVG,并且必须用匹配的开始和结束标记绘制不同颜色的线条。在Firefox中,他们似乎在14天前修复了这个问题,但是Chrome不理解SVG的def部分中标记上的stroke=“context-stroke”属性。我想知道是否有替代方法来解决这个问题,或者我只需要为我的线条可以是的每种颜色制作和管理一个标记。我甚至不确定我是否可以使用JavaScript更改样式,因为标记是在Defs部分定义的,并应用于所有使用它们的线条。
我试着用属性fill = context-stroke和stroke = context-stroke定义一个标记,这两个属性可以在Firefox上使用,但不能在chrome上使用。
1条答案
按热度按时间2ul0zpep1#
从Erik Dahlström在2013年的回答中可以看出,用于继承颜色的
context-stroke
和context-fill
值的概念在SVG 2草案中已经存在了相当长的一段时间。不幸的是,大多数主流浏览器/引擎仍然没有实现它。
作为一种解决方法,您可以使用javaScript克隆具有不同填充或描边颜色的标记。
这种方法基于这样的思想:创建一个标记模板,该模板可以通过更改实际标记元素的ID和填充属性来克隆:
用于测试:codepen example