【发布时间】:2017-10-17 19:40:39
【问题描述】:
我的用例可能有点独特,但我正在使用包含在 flexbox 中的 DOM 元素创建一个动态大小的方形网格。每个 DOM 元素都有一个 SVG 图像背景和一个等于 calc(100vmin / <gridSize>) 的高度/宽度。 SVG 元素很简单:
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<path stroke-width="2" stroke="#000" stroke-linecap="square" d="M0,50 h100 M50,0 v50"/>
</svg>
但是,我注意到有些线条看起来比其他线条更暗,并且一些 SVG 线条之间存在间隙。 (见下图)我假设这是由于像素舍入,因为当我调整浏览器大小时,间隙和厚度会跳来跳去。
我尝试对来自calc 的像素进行四舍五入,但我使用的是styled-components,因此我无法使用floor / ceil 等SASS / LESS 函数。我还注意到让笔画宽度变粗可以缓解这个问题,但我更愿意让我的线条变细。
还有其他方法可以使线条保持一致吗?
【问题讨论】:
标签: css svg styled-components