代码之家  ›  专栏  ›  技术社区  ›  maček

如何在块元素中垂直居中图像和文本?[CSS]

  •  1
  • maček  · 技术社区  · 14 年前

    我正试图用CSS来完成这项工作。这是我的标记:

    <h2>
    <img src=“a.gif”a lt=“a”width=“30”height=“30”/>
    <img src=“b.gif”alt=“b”width=“30”height=“30”/>
    18磅;垂直居中;
    /lt/H2 & gt;
    < /代码> 
    
    
    • aandbare 30x30 pixel images.
    • 小红线为5像素填充/页边距(以适用者为准)
    • 由于图像的高度和垂直填充,最外面的容器的高度为40px(30+5+5)。
    • 最外层容器的宽度为100%。

    注:18pt文本不可能溢出容器的宽度。假设它总是一行。

    注:如果更多标记有助于获得所需视图,则可以修改标记。

    这是怎么做到的?

    我正试图用CSS来完成这个任务。这是我的标记:

    <h2>
      <img src="A.gif" alt="A" width="30" height="30" />
      <img src="B.gif" alt="B" width="30" height="30" />
      18 pt; vertically centered;
    </h2>
    
    • AB是30x30像素的图像。
    • 小红线为5像素填充/边距(以适用者为准)
    • 由于图像的高度和垂直填充,最外面的容器的高度为40px(30+5+5)。
    • 最外层容器的宽度为100%。

    注:18pt文本不可能溢出容器的宽度。假设总是一行。

    注:如果更多的标记有助于获得所需的视图,则可以修改标记。

    这是怎么做到的?

    2 回复  |  直到 14 年前
        1
  •  3
  •   alexcoco akvallejos    14 年前

    如果我没弄错,你可以用 vertical-align: text-bottom 属性上的 img 为了达到这种效果。

    下面是一个小测试: http://www.w3schools.com/Css/tryit.asp?filename=trycss_vertical-align

    您可以尝试删除那里的样式并用替换它们
    img { vertical-align: text-bottom; }
    文本应与所需的页面元素中心对齐。

        2
  •  0
  •   jeroen    14 年前

    可以将行高设置为40px,如果文本只有一行,则会导致文本垂直居中。

    h2 {
        line-height: 40px;
    }
    h2 img {
        padding: 5px;
        vertical-align: middle;
    }