【发布时间】:2017-02-20 09:27:29
【问题描述】:
我花了一些时间试图弄清楚为什么我的按钮不会在我想我会在这里问的列中垂直居中,因为我认为我遗漏了一些东西,HTML:
<div class="container">
<div class="row">
<div class="sellthem">
<div class="col-sm-8 col-sm-offset-1">
<div class="sellContent">
<h1 class="sellHeader">Bacon ipsum dolor amet fatback turkey filet mignon</h1>
<h4 class="sellText">Bacon ipsum dolor amet fatback turkey filet mignon ham T-bone alcatra drumstick tenderloin strip steak meatball. Rump picanha chicken beef sausage tri-tip</h4>
</div>
</div>
<div class="col-sm-2 sendThem">
<button type="button" class="btn btn-lg btn-block">Sign Up</button>
</div>
</div>
</div>
</div>
h1 和 h4 标记中的文本会发生变化,因此高度可能会发生变化,我想将按钮置于 col-sm-2 列的中心。当我研究buttons 下的 Bootstrap 文档时,没有提到任何关于垂直居中的内容。
当我搜索 SO 时,我遇到了 How can I center vertically a bootstrap class button?,但它使用了 200px、answer 的强制高度:
div#container {
height: 200px;
border: solid 2px green; text-align:center;
line-height:200px;
}
input#verticalButton {
vertical-align: middle;
}
进一步研究,How to center buttons in Twitter Bootstrap 3? 建议 center-block 但这是用于水平居中,我想要垂直居中。
在兔子洞的深处,我遇到了button vertical align bootstrap,但是当我尝试时:
HTML:
<div class="sendThem">
<div class="col-sm-2">
<button type="button" class="btn btn-lg btn-block">Sign Up</button>
</div>
</div>
CSS:
.sendThem {
display:table;
}
.sendThem .col-sm-2 {
display:table-cell;
vertical-align:middle;
float:none;
}
我的结果是一样的,那就是顶部的一个按钮。我认为,每次阅读某处可能存在由该列引起的问题,但我似乎无法找到该文档。
使用 HTML 和 CSS 使按钮垂直居中的正确方法是什么,这样我可以得到这样的结果:
我不打算使用设定的高度,低于col-sm 的任何东西都将是一个全宽居中按钮。这是一个 Bootply 试图将按钮垂直居中。
【问题讨论】:
-
我会说仅使用 Bootstrap 3 网格系统是不够的,您需要引入一些特定的样式,甚至根本不使用网格。您需要支持哪些浏览器?
-
不担心旧版浏览器,但仍需要支持当前的 IE。
-
你能上传一个例子到 jsfiddle 或 codepen 吗?
-
@MauroGava 我创建了一个 bootply,包含在编辑中。
标签: html css twitter-bootstrap-3 vertical-alignment