我将尝试生成一个带有交替实线和虚线的网格,该网格覆盖了一个非常高的列。问题在于实线需要通过编程方式变得更加分散,并且在这样做时,它们应该显示更多的虚线。以下是我目前拥有的代码:
JSFiddle: http://jsfiddle.net/etzVJ/ CSS:
我认为我已经很接近了。您可以调整第二个background-size(1px 50px)至1px 75px,以将黑线分开并显示两条虚线。但是,这段代码有两个问题。首先,行高实际上是31px,这让我感到惊讶,因为我认为我指定了25px的渐变。我确定我可以缩小这些数字以使线条正好相距25px,但我想知道为什么它比预期的要高。其次,有时候25px的增量似乎有效,直到您滚动得非常远,然后它就会崩溃。以下是实现所需效果所需的高度:
实线之间的虚线数 -> 相应的背景大小
0 -> 1px 25px
1 -> 1px 50px
2 -> 1px 75px
3 -> 1px 99px
4 -> 1px 124px
5 -> 1px 149px
6 -> 1px 174px
JSFiddle: http://jsfiddle.net/etzVJ/ CSS:
.test {
width: 100%;
height: 2000px;
background:
linear-gradient(white 24px, transparent 24px) 0px -24px,
linear-gradient(black 24px, transparent 24px),
linear-gradient(90deg, white 1px, red 1px, red 2px, white 2px);
background-size: 1px 25px, 1px 50px, 3px 1px;
}
HTML:
<div class="test">
</div>
我认为我已经很接近了。您可以调整第二个background-size(1px 50px)至1px 75px,以将黑线分开并显示两条虚线。但是,这段代码有两个问题。首先,行高实际上是31px,这让我感到惊讶,因为我认为我指定了25px的渐变。我确定我可以缩小这些数字以使线条正好相距25px,但我想知道为什么它比预期的要高。其次,有时候25px的增量似乎有效,直到您滚动得非常远,然后它就会崩溃。以下是实现所需效果所需的高度:
实线之间的虚线数 -> 相应的背景大小
0 -> 1px 25px
1 -> 1px 50px
2 -> 1px 75px
3 -> 1px 99px
4 -> 1px 124px
5 -> 1px 149px
6 -> 1px 174px
7 -> 1像素 199像素
为什么代码在100像素处会出错,而我必须将其降至99像素?我当然可以编写代码解决这个问题,但我真的只想知道发生了什么。谢谢!