【发布时间】:2019-06-13 21:27:19
【问题描述】:
在重复背景上,重复图块的边缘在某些缩放级别上不会完全对齐。这会导致不需要的边缘,因为在这个 1px 的间隙中可以看到背景颜色。
我已经阅读了一些背景资料,了解到这可能是由于缩放导致十进制像素值出现舍入误差。将背景图块的大小调整几个像素可以解决一个缩放级别的问题(因为缩放后的图像尺寸是整数值),但显然会破坏其他缩放值。
稍微重叠背景图块可能会起作用,但我不确定如何通过重复背景来实现这一点。禁用缩放是另一种选择,但如果可能,我想阻止这种情况。
如下所示的代码显示了在 Chrome 中将缩放设置为 85%(或者在 63% 时更糟)时出现的问题:
#header {
background: linear-gradient(135deg, #ECEDDC 24.9%, transparent 25.1%) -70px 0,
linear-gradient(225deg, #ECEDDC 24.9%, transparent 25.1%) -70px 0,
linear-gradient(315deg, #ECEDDC 24.9%, transparent 25.1%),
linear-gradient(45deg, #ECEDDC 24.9%, transparent 25.1%);
background-size: 140px 140px;
background-color: #29AB87;
width: 100vw;
height: 100vh;
}
<div id="header"></div>
问题截图:
【问题讨论】:
-
不容易解决这个问题.. SVG 可能会提供更好的结果
-
这确实是另一种选择,其他答案似乎也指向了这一点。是 SVG。
标签: html css background linear-gradients