div bootstrap 3中的垂直对齐句子

时间:2015-04-10 01:48:54

标签: css twitter-bootstrap alignment vertical-alignment

所以我使用Bootstrap的最新版本,我有以下div

<div class="col-sm-6 col-md-2 col-lg-8 memory textContainer">
    <p>{{ $memory->description }}</p>
</div>

最大句子长度为200个字符,因此不符合一行。对于我的垂直对齐,我有以下CSS。

.textContainer {
    height: 200px;
    line-height: 200px;
}

.textContainer p {
    height: 200px;
}

这是有效但不是当句子长于一行时,因为这两行之间的间距是200px,如下图所示。

enter image description here

是否有解决此问题的方法?非常感谢你!

2 个答案:

答案 0 :(得分:1)

这对你有用吗?

.textContainer {
    height: 200px;
    background: silver;
    position: relative;
}
.textContainer p {
    position: absolute;
    padding: 0;
    margin: 0;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
<div class="textContainer">
    <p>content content content content content content content content content content content content content content content</p>
</div>

答案 1 :(得分:1)

您之后具有哪种跨浏览器兼容性?接受的答案在不支持css3转换的浏览器中不能很好地工作。如果您需要支持旧浏览器,请尝试以下方法:

<div class="col-sm-6 col-md-2 col-lg-8 memory textContainer">

  <div class="centered">
    <p>{{ $memory->description }}</p>
  </div>

</div>

.textContainer {
height: 200px;
}
/* The ghost, nudged to maintain perfect centering */
.textContainer:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
}

/* The element to be centered, can also be of any width and height */ 
.centered {
  display: inline-block;
  vertical-align: middle;
}

参考:https://css-tricks.com/centering-in-the-unknown/