作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个 html:
<div class="col-xs-12">
<div class="row">
<div class="col-xs-8">
<h2>Some big header</h2>
</div>
<div class="col-xs-4 select">
<select class="form-control">
<option>TMP</option>
</select>
</div>
</div>
<div class="row">some more text</div>
</div>
我得到了这个结果:
h1
标签有 margin 属性,所以 h1
上面有一些空白。 select
上面没有这样的空间,所以这个元素没有居中。
我试过糟糕而可怕的方法。我知道它可以用来居中 div。但在这种情况下不是...我已将 line-height
和 height
属性添加到选择中:
.select {
height: 80px;
line-height: 80px;
}
.form-control {
display: table-cell;
}
是的,它起作用了,但它根本不是相对的。如果在左栏中有 h2
文本,而不是 h1
怎么办?
jsFiddle example of "what you tried?"
还有,“你试过什么?” 2:我尝试使用 form-horizontal
类。看这个:
还有代码:
<div class="col-xs-12 form-horizontal">
<div class="row form-group">
<div class="col-xs-8">
<h2 class="control-label">Some big header</h2>
</div>
<div class="col-xs-4 ">
<select class="form-control">
<option>TMP</option>
</select>
</div>
</div>
</div>
此外,左列中的文本是右对齐的(作为表单标签,很明显)。我不想要这个。
jsFiddle example of "what you tried?" 2
所以问题是:如何让两个元素垂直居中?非常喜欢使用引导类和方法。不要建议指定 div 高度、边距或填充的方法:它根本不是相对的。
最佳答案
为了能够使用垂直对齐,我认为您需要覆盖 Bootstrap 类使用的 float ,并为列使用 inline-block
。这不完全是一种自举方法,但我认为它有效并且响应迅速。有一个缺点可能有点烦人,就是您需要确保 div
之间没有空格...
<div class="col-xs-12">
<div class="row">
<div class="col-xs-8 vcenter-col">
<h2 class="control-label">Some big header</h2>
</div><!-- comment required to prevent line break...
--><div class="col-xs-4 vcenter-col">
<select class="form-control">
<option>TMP</option>
</select>
</div>
</div>
</div>
.vcenter-col {
display: inline-block;
vertical-align: middle;
float: none;
}
我是否正确理解了您的问题?
关于html - 如何在两个引导列中垂直居中 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24343634/
我是一名优秀的程序员,十分优秀!