我有几个类似于这个问题中的rect
,但它们没有对齐到像素。我不能改变元素位置。例如:
<svg width="326.01071" height="255.5332" xmlns="http://www.w3.org/2000/svg"
viewBox="18 18 41 41"
>
<rect x="21" y="21" width="51" height="3" fill="black" class="crisp" />
<rect x="21" y="24" width="30" height="3" fill="black" class="crisp" />
<rect x="21" y="41" width="51" height="3" fill="black" />
<rect x="21" y="44" width="30" height="3" fill="black" />
</svg>
我看到矩形之间有一条细线。使用“shape-rendering = crispEdges”并没有起到帮助作用。
稍微增加一点重叠可以有所帮助,但会在两个抗锯齿边缘相接的垂直连接处产生可见的尖峰,因为两个重叠的矩形都参与颜色混合。
有什么办法可以解决吗?
嗯,这些矩形是相同颜色的,所以我可以引入一些智能算法将相邻的矩形合并成一个形状。这是一种干净而困难的方法。
viewBox
。而你的tinkerbin包含了答案:g
标签消除了这条线!(好吧,在IE9中除外)请你把这个作为答案重新发布一下,好吗? - Victor Sergienko