【发布时间】:2019-07-12 13:22:17
【问题描述】:
考虑 2 个 html svg 路径,一个正方形(inside 类)和一个矩形(outside 类)具有相同的高度。当我应用stroke-width: 10px 时,笔划在内部应用5px,在外部应用5px。 Fiddle
我如何只在里面或只在外面抚摸?
.inside {
stroke: #333;
stroke-mode: inside; // property does not exist
stroke-width: 5px;
}
.outside {
stroke: #333;
stroke-mode: outside; // property does not exist
stroke-width: 5px;
}
如果没有这样的属性,是否有解决方法来实现类似:
【问题讨论】:
-
改变内部矩形内部的大小是不行的吗?
-
它适用于矩形等简单路径,但适用于包含多个路径的复杂 SVG,例如从正方形中移除的圆形?
-
你可能想看看像这里解释的剪辑路径:stackoverflow.com/a/32162431/4428236,这似乎是目前唯一有效的解决方案,因为 SVG 工作组未能从多个实现中风控制属性提案...
-
是的,这是真的。当我创建 svgs 时,我从不使用笔触,只是填充。当我想在某物周围设置边框时,我只需像这样绘制路径。
-
您可以通过使用paint-order 属性来产生仅在外部进行描边的错觉,该属性允许您控制填充和描边(以及绘画标记)的绘制顺序。如果您使用
paint-order: stroke;svg 将先绘制笔触,然后再进行填充。所以描边的内半部分会被填充遮住。