当我在badge
,h1
,h2
等标题内使用Bootstrap h3
时,垂直对齐关闭。 badge
对齐标题文本的底部。我希望徽章垂直对齐标题文字。
HTML
<h1><span class="badge">badge</span> Heading 1</h1>
<hr>
<h2><span class="badge">badge</span> Heading 2</h2>
<hr>
<h3><span class="badge">badge</span> Heading 3</h3>
CSS
h1,h2,h3 {
vertical-align:middle;
}
h1>.badge, h2>.badge, h3>.badge {
vertical-align:middle;
}
结果 ..
请参阅此Bootply:http://bootply.com/88526
如何让它在垂直中心对齐?
答案 0 :(得分:19)
总是讨厌这个问题。
有点hacky,但这有效:
h1 { font-size: 2em; }
h2 { font-size: 1.6em; }
h3 { font-size: 1.4em; }
h1,h2,h3 {
vertical-align:middle;
}
h1>.badge, h2>.badge, h3>.badge {
vertical-align:middle;
margin-top: -0.5em;
}
为演示目的定义标题字体大小
答案 1 :(得分:2)
在Bootstrap 4中,垂直对齐问题不再是问题,因为徽章将继承包含标题的大小。
<div class="container">
<h1><span class="badge badge-pill badge-dark">badge</span> Heading 1</h1>
<hr>
<h2><span class="badge badge-pill badge-dark">badge</span> Heading 2</h2>
<hr>
<h3><span class="badge badge-pill badge-dark">badge</span> Heading 3</h3>
</div>
但是,align-middle
类可用于垂直对齐标题外的徽章。
<div class="container">
<span class="badge badge-pill badge-dark align-middle">badge</span> <span class="h1 align-middle">Heading 1</span>
<hr>
<span class="badge badge-pill badge-dark align-middle">badge</span> <span class="h2 align-middle">Heading 2</span>
<hr>
<span class="badge badge-pill badge-dark align-middle">badge</span> <span class="h3 align-middle">Heading 3</span>
</div>