【发布时间】:2017-03-21 13:48:05
【问题描述】:
我的 CMS 有一个相当严格的设置,有 2 列带有标题和内容,如下所示:
.wrapper {
overflow: auto;
border: 1px solid #ccc;
text-align: center;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-align: center;
-webkit-align-items: center;
-webkit-box-align: center;
align-items: center;
}
.left,
.right {
float: left;
width: 45%;
padding: 5px;
}
<div class="wrapper">
<div class="left">
<h3>Title (should be aligned to top)</h3>
<div class="content">
left<br>
left<br>
left<br>
left<br>
</div>
</div>
<div class="right">
<h3>Title (should be aligned to top)</h3>
<div class="content">
right
</div>
</div>
</div>
我想让每列的.content 垂直对齐到中间,但保持标题h3s 垂直对齐到顶部。
通常我会使用 flexbox 来实现垂直对齐:
.wrapper {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-align: center;
-webkit-align-items: center;
-webkit-box-align: center;
align-items: center;
}
但这当然会影响.wrapper 中的所有元素。
有人知道我可以“定位”.content 类并获得相同效果的方法吗(请记住,我无法真正更改 HTML)?
【问题讨论】:
-
为什么你的标题有“左”类?也许为它创建一个类,vertical-align: middle;
标签: html css flexbox vertical-alignment