我在使用Bootstrap 2.3.2时遇到了一个非常简单的问题,需要垂直居中一个含有span
标签的元素。
要求:
有两列,左侧列内有一张300x300像素的图片,高度固定为300像素。
右侧列内为文本,必须基于左侧列进行居中对齐。
整个布局必须是响应式的,因此我正在使用响应式图片。
如果第二列下移至底部,则其高度必须适应文本大小。这意味着我不能在第二列上设置固定高度。
不能使用JS来解决此问题。
HTML代码:
<div class="container-fluid">
<div class="row-fluid">
<div class="span6">
<img class="img-responsive" src="http://placehold.it/300x300"/>
</div>
<div class="span6 v-center">
<div class="content">
<h1>Title</h1>
<p>Paragraph</p>
</div>
</div>
</div>
</div>
CSS:
.v-center {
display:table;
border:2px solid gray;
height:300px;
}
.content {
display:table-cell;
vertical-align:middle;
text-align:center;
}
我的代码: http://jsfiddle.net/qhoc/F9ewn/1/
你可以看到我上面做了什么: 我基本上将第二列的 span
设置为表格,并且垂直居中了 .content
表格单元格。我在这里复制了这种方法(如何在bootstrap中使用垂直对齐)(带有工作示例在这里http://jsfiddle.net/lharby/AJAhR/)。
由于上述要求,我的挑战有点不同。任何关于如何使它工作的想法吗?谢谢。
display:table-cell
会导致错误的行为,尝试使用display:block
。 - MarmiK