html - 在两个垂直放置的 div 之间画一条垂直线 - CSS?

标签 html css

我正在努力实现这样的目标

enter image description here

带字母的圆圈从第一个 div 和第二个 div 的开头开始,中间有一个换行符。这里线的长度应该根据两个div中间的空间来计算。我尝试了几种方法但没有运气。请建议我执行此操作的方法。

更新:

我尝试了@Vadim 的回答,但在我的例子中,分隔符长度应该是动态的,而不是静态的,div 是这样的:

<div class="container">
  <div class="first-div">
    <div class="letter">Q</div>
    <div>another div</div>
  </div>

  <div class="second-div">
     <div class="letter">A</div>
     <div>another div</div>
  </div>
</div>

我想在字母之间画垂直线。行高应根据内部 div 高度动态变化。

最佳答案

您可以使用 flexbox 来实现所需的布局:

.container {
  background-color: #ccc;
  padding: 15px;
  
  /* align items in one column and take space defined by content */
  /* this is used for centering separator */
  display: inline-flex;
  flex-direction: column;
}

.letter {
  width: 25px;
  height: 25px;
  background-color: #fff;
  border-radius: 50%;
  
  /* styles for text centering */
  display: flex;
  justify-content: center;
  align-items: center;
}

.separator {
  width: 5px;
  height: 50px;
  border-radius: 3px;
  background-color: #fff;
  margin-top: 5px;
  margin-bottom: 5px;
  
  /* center horizontally */
  align-self: center;
}
<div class="container">
  <div class="letter">Q</div>
  <div class="separator"></div>
  <div class="letter">A</div>
</div>

关于html - 在两个垂直放置的 div 之间画一条垂直线 - CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45811318/

相关文章:

html - 将两个图像并排居中并带有标题

css - Ruby on Rails 4 重新请求状态进度条

javascript - 将当前文本作为参数传递给 jquery 函数

css - 如何使用 CSS 重新定位元素,而不冒浏览器将其切断的风险?

html - 当窗口变窄时堆叠 "float: right"div

javascript - HTML5 "required"属性在 JavaScript 中提交验证之前不起作用

javascript - 图像上的摆动动画。 (就像酒馆的招牌。)

html - 如何使用 HTML 和 CSS 或 JavaScript 修复视差页脚

python - 使用 Python 从 SQlite3 数据库创建 HTML 报告

javascript - 对于 IE9,选项卡仅在我单击选项卡时更改,而不是在单击选项卡上的文本时更改