垂直居中两个内联块元素

时间:2015-09-15 07:48:04

标签: html css

我有以下代码:

.logo h1 {
  display: inline-block;
  font-weight: bold;
  font-family: arial, sans-serif;
  color: #0066CC;
  margin: 0px 20px 0px 0px;
}
.logo h2 {
  font-size: 1.5em;
  margin: 0px 0px 0px 0px;
  font-weight: bold;
  font-family: arial, sans-serif;
  color: #C61476;
  display: inline-block;
}
<div class="logo">
  <h1>MyLogo</h1>
  <h2>My Catchy Slogan</h2>
</div>
<!-- .logo -->

这给了我这个:

logo

有人可以告诉我,无论<div class="logo">更改为什么高度,我都可以将口号与MyLogo文本的中心对齐?

我尝试过通过Google找到的许多解决方案,但似乎都没有。

2 个答案:

答案 0 :(得分:1)

鉴于这两个元素都设置为display: inline-block;,因此被归类为inline,您可以使用vertical-align: middle;将它们垂直居中。

  

<强>垂直对齐
  vertical-align CSS属性指定内联或表格单元格框的垂直对齐方式。

vertical-align(https://developer.mozilla.org/en/docs/Web/CSS/vertical-align

.logo h1 {
  display: inline-block;
  font-weight: bold;
  font-family: arial, sans-serif;
  color: #0066CC;
  margin: 0px 20px 0px 0px;
  vertical-align: middle;
}
.logo h2 {
  font-size: 1.5em;
  margin: 0px 0px 0px 0px;
  font-weight: bold;
  font-family: arial, sans-serif;
  color: #C61476;
  display: inline-block;
  vertical-align: middle;
}
<div class="logo">
  <h1>MyLogo</h1>
  <h2>My Catchy Slogan</h2>
</div>
<!-- .logo -->

答案 1 :(得分:0)

以下是您的解决方案:DEMO

.logo h1 {
        display: table-cell;
        font-weight: bold;
        font-family: arial, sans-serif;
        color: #0066CC;
        margin: 0px 20px 0px 0px;
        vertical-align: middle;
    }

    .logo h2 {
        font-size: 1.5em;
        font-weight: bold;
        font-family: arial, sans-serif;
        color: #C61476;
        display: table-cell;
        vertical-align: middle;
    }

    .logo{
        display: table;
    }

HTML:

<div class="logo">
    <h1>MyLogo</h1>
    <h2>My Catchy Slogan</h2>
</div><!-- .logo -->