html - 是否可以使用 css 绘制具有不同长度的垂直线?

标签 html css

我可以使用这个 answer 在背景中绘制垂直线. 这个答案绘制了相同长度的垂直线。

但我想画下几行。 (第 5 行比其他行长一点。) enter image description here

目前,我用 1px 宽度 divs 绘制了这些线条。但是在检查了上面的答案之后,我想知道我是否只能通过 css 绘制。但仍然不确定这是否可能。

期待任何建议。提前致谢。

最佳答案

这是使用 repeating-linear-gradient 的一个更简单的想法

.line {
  height: 50px;
  background:
   repeating-linear-gradient(to right, red   0 4px, transparent 4px 80px),
   repeating-linear-gradient(to right, green 0 4px, transparent 4px 20px) left/100% 70% no-repeat;

}
<div class="line"></div>

使用 CSS 变量轻松控制一切:

div.line {
  --d:20px; /* distance between lines */
  --l:4px;  /* length of line */
  --n:4;    /* how many small lines between the big one*/
  --h:70%;  /* Height of small lines*/
  --o:0;    /* When the big line will start */

  background:
    repeating-linear-gradient(to right, 
      red   0 var(--l), transparent var(--l) calc((var(--l) + var(--d))*(var(--n) + 1))) left calc(var(--o)*((var(--l) + var(--d)))) center no-repeat,
    repeating-linear-gradient(to right, 
      green 0 var(--l), transparent var(--l) calc(var(--l) + var(--d))) left/100% var(--h) no-repeat;
      
  margin:10px;
  height: 50px;
}
<div class="line"></div>
<div class="line" style="--n:10;--h:50%;--o:2"></div>
<div class="line" style="--n:2;--d:35px;--l:2px;--o:3"></div>
<div class="line" style="--n:8;--l:10px;--d:5px;--o:8;--h:90%;"></div>

CSS vertical lines with different lengths and linear gradient

关于html - 是否可以使用 css 绘制具有不同长度的垂直线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58741332/

相关文章:

javascript - 在表内加载另一个组件会意外地在Angular中扩展我的表宽度

html - 背景图像不会在 IE 中一直延伸

javascript - 在javascript中更改年龄验证框的位置

html - CSS 覆盖内部 html 标签内的内容

css - 如何使背景图像适合整个页面而不重复使用纯 css?

html - 带有子 UL LI 的 CSS 菜单

c# - 修复 xaml 文件中的大小

html - 具有重复背景图像和 float div 的 Div 容器

javascript - 渲染分页符中的多个谷歌图表

javascript - 使用滑动脚本在 Windows 上的 Chrome 中滚动错误