【发布时间】:2017-10-11 17:22:08
【问题描述】:
我希望为元素提供具有重复的 1 像素宽对角线条纹的背景。似乎repeating-linear-gradient 应该能够做到这一点,但是在 Safari 中呈现时:
background-image: repeating-linear-gradient(
45deg, black, black 1px, transparent 1px, transparent 3px
);
#thing {
height: 200px;
background-image: repeating-linear-gradient( 45deg, black, black 1px, transparent 1px, transparent 3px);
}
<div id="thing"></div>
看起来浏览器在aliasing 上的表现不佳,导致条带图案不均匀。关于如何解决此问题或以其他方式完成我想做的事情的任何想法?
【问题讨论】:
-
在 chrome 中看起来更糟
-
在 Firefox 中更糟 :)
-
当您的意思是 1px 宽的条纹时,它是对角线 1px,还是沿 x/y 轴测量时为 1px?您看到的云纹图案是由于浏览器中的抗锯齿造成的。
-
@Terry 我想要由 1px 块组成的行。我尝试做一些疯狂的事情,比如指定 1.414px(对角线长度)的停靠点,但这似乎没有帮助。
-
@KyleCronin 你运气不好——如果你熟悉Pythagorean triples,就不可能得到一个对角线宽度为也是一个整数,反之亦然……这是因为在一个1*1px宽的正方形块上,对角线宽度是sqrt(2),这是一个无理数。