Vertically align Bootstrap badge inside heading

后端 未结 2 1683
说谎
说谎 2020-12-06 09:05

When I use a Bootstrap badge inside of heading such as h1,h2,h3 the vertical alignment is off. The badge ali

相关标签:
2条回答
  • 2020-12-06 09:47

    In Bootstrap 4, the vertical alignment issue is no longer a problem since the badge will inherit the size of the containing heading..

    <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>
    

    However, the align-middle class be used to vertically align badges outside of the heading.

    <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>
    

    Demo: https://www.codeply.com/go/rE0z3665zh

    0 讨论(0)
  • 2020-12-06 09:55

    Always hated this problem.

    A little hacky but this works:

    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;
    }
    

    Defined the heading font-sizes for demo purposes

    0 讨论(0)
提交回复
热议问题