当图案尺寸较小时,背景图像重复图案显示出副作用

background-image repeat pattern is showing side effects when pattern size is small

我正在尝试使用背景图像创建一个 table 图案,当单元格大小为 50px * 50px 时效果很好,但当我低于 25px * 25px 时,几行开始消失或晕倒。

这背后的原因是什么?如何解决?

At 25px * 25px

At 50px * 50px

div {
  background: pink;
  height: 713px;
  width: 400px;
  background-size: 25px 25px;
  /*background-size: 50px 50px;*/
  background-image: url("https://svgshare.com/i/_GG.svg");
}
<div></div>

代码笔:https://codepen.io/arnavsingh/pen/bGWPqXP

注意:当我使用浏览器设置放大时它会得到修复

我能想到的唯一方法是使用变量将宽度和高度设置为某个数学大小。

例如你的身高应该是 height: $someSize * 10; background-size: $someSize $someSize ;

可能是因为你的 svg 中的线条无法以较小的尺寸呈现(因为边框变得小于 1px)。

为什么不尝试使用线性渐变(将 25px 更改为您想要的任何大小的正方形):

div {
  height: 713px;
  width: 400px;
  background:
    repeating-linear-gradient(to right,
        transparent 0  calc(25px - 1px),
        #AA8087 calc(25px - 1px) 25px),
        
    repeating-linear-gradient(to bottom,
        transparent 0 calc(25px - 1px),
        #AA8087 calc(25px - 1px) 25px)     
    #FFC0CB;
}
<div></div>

这样的任务现在很简单,只有一个梯度:

div {
  background: pink;
  height: 713px;
  width: 400px;
  --b:1px; /* adjust this */
  background:
    conic-gradient(at bottom var(--b) right var(--b),#000 75%,#0000 0) 
    0 0/25px 25px /* and this */
    pink;
}
<div></div>