我有一个基于流量百分比的容器,里面有一个包含标题的div。我希望每当浏览器调整大小或视口更改时,此标题始终垂直位于此容器的中心。是否可以在没有JavaScript的情况下完成垂直重新定位?
<div class="fluid-container">
<div class="meta">Title</div>
</div>
答案 0 :(得分:3)
这是我最喜欢的方式。我使用两个辅助类来实现这个目标:
.valign:after {
display: inline-block;
height: 100%;
width: 0;
vertical-align: middle;
content: '';
}
.valign > .valigned {
display: inline-block;
vertical-align: middle;
text-align: left;
}
现在,当您需要垂直对齐某些内容时,只需将valign
类添加到父级,将valigned
添加到您的actualt元素中。像这样:
<div class="fluid-container valign">
<div class="meta valigned">Title</div>
</div>
答案 1 :(得分:0)
如果您知道“title”标签的高度,或者您可以使用line-height
和height
进行设置,则可以执行以下操作:
.fluid-container {
position: relative;
}
.fluid-container > .meta {
width: 100%;
height: 20px;
line-height: 20px;
position: absolute;
top: 50%;
margin-top: -10px;
text-align: center;
}
答案 2 :(得分:0)
您可以(ab)使用line-height
,inline-block
和vertical-align:middle
来获得所需的效果。它适用于所有体面的浏览器。 (我曾经发现过这种技术here)
.fluid-container {
line-height: 8em; /* some abundant value, around the max height */
}
.fluid-container > div.meta {
vertical-align: middle; /* center… */
display: inline-block; /* …like text */
}