首页 > 解决方案 > 如何使垂直分隔线相等并在 CSS 中使用可变内容从同一顶部开始

问题描述

在这里摆弄https://jsfiddle.net/7x0kej46/3/

<section>
  <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun
  </div>
   <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehender
  </div>
   <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>
   <div>
  TEST
  </div>
   <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>
</section>

section div {
  background: tomato;
  padding: 1rem;
  margin-bottom: 1rem;
  color: white;
  position: relative;
}

section div::after {
  content: '';
  border-right: 2px solid #555;
  width: 2px;
  z-index: 1;
  position: absolute;
  left: 5px;
  top: 50%;
  height: 100%;
}

section div:last-child::after {
  display: none;
}

在此处输入图像描述

期望的输出(添加了更好的图片以便理解)

在此处输入图像描述

标签: htmlcss

解决方案


我认为这是根据您的设计开始的良好基础:

section div {
  background: tomato;
  padding: 1rem;
  margin-bottom: 1rem;
  color: white;
  position: relative;
  padding-left: 3rem;
}

section div::after {
  content: '';
  border-right: 2px solid #555;
  width: 2px;
  z-index: 1;
  position: absolute;
  left: 12px;
  top: 35px;
  height: calc(100% - 10px);
}


section div::before {
  content: '';
  background: green;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  z-index: 1;
  position: absolute;
  left: 5px;
  top: 11px;
}

section div:last-child::after {
  display: none;
}
<section>
  <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun
  </div>
   <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehender
  </div>
   <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>
   <div>
  TEST
  </div>
   <div>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
  </div>
</section>


推荐阅读