html - 如果太长,行内 block div 中的段落将推到 div 下方

标签 html vertical-alignment css

我一直试图在一个 div 中将一些文本垂直居中,浏览 StackOverflow 一段时间后我终于想到了这个:

.frame {
  height: 500px;
  border: 2px solid black;
}
.helper {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.centerText {
  display: inline-block;
  vertical-align: middle;
}

<div class="col-md-8">
  <div class="frame">
    <span class="helper"></span>
    <div class="centerText">
      <p>This is a short paragraph.</p>
      <br />
      <p>More stuff.</p>
      <br />
      <br />
      <p>etc.</p>
    </div>
  </div>
</div>

当我有一个简短的段落时,这很好用,如上所述。但是我尝试更改该段落,发现当我将其设置得足够长以至于必须转到另一行时,整个段落都移到了“框架”div 下方。

参见此处:fiddle

如果我去掉跨度,那么长的段落将很好地转到框架内的下一行,但它不再垂直居中。

这是怎么回事?我怎样才能有一个长段落,而不是让所有文本都被推出 div?

最佳答案

去掉 .helper 中的 height: 100%

这能解决您的问题吗? 如果没有,请告诉我,以便我可以帮助您。 干杯,

关于html - 如果太长,行内 block div 中的段落将推到 div 下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28005485/

相关文章:

css - HTML 布局,菜单文字间距错误,无法居中对齐

javascript - 作为网站的最终用户,有什么方法可以将复选框状态保存在 URL 中吗?

html - 输入和按钮并排

html - 高度可变的 div 内垂直对齐多个跨度(ui-select-multiple)

javascript - 如何从 PHP 中用 JavaScript 编写的 HTML 文本框获取值

html - 溢出适用于外部 100% 高度 div,但不适用于内部 100% 高度 div

css - 如何在 bootstrap 3 中垂直对齐网格元素的内容?

javascript - 在 CodeIgniter 中高效压缩 CSS 和 JS

css - CSS padding 中的第三个值是什么?

jquery - 当页面滚动到特定百分比时,如何向元素添加Class?