【问题标题】:vertically aligning div inside div not workingdiv内垂直对齐div不起作用
【发布时间】:2013-10-23 04:54:35
【问题描述】:

为什么div里面的#inner没有垂直对齐?请注意,我使用的是 IE 8 和 CSS,而不是 CSS3,如果这有所不同的话。 这是我的html。

<div class="Content">

    <div id="home">
        <div id="inner">
                <div id="stuff">HeadingOne</div>
                <div>HeadingTwo</div>
                <div>HeadingThree</div>
        </div>
    </div>

</div>

这是我的 CSS

    #inner div {
         display: inline;
    }

    #home #inner {
        margin: 0px auto;
        vertical-align: middle;
    }

    #home {
        display: table-cell;
        vertical-align: middle;
        text-align:center;
    }

如您所见,我尝试制作 display: table-cell;然后做垂直对齐:中间但它没有用。知道为什么吗?是的,我需要'#inner div' 显示是内联的。我希望#inner 内部的 div 是内联的并且位于内容的中心。

【问题讨论】:

  • 你到底想得到什么?
  • @andi 我希望 #inner 内部的 div 是内联的并位于内容的中心。
  • jsfiddle.net/c9zPc 所以这不是你想要的?....
  • 我不明白你所拥有的和你想要的之间的区别。似乎你已经拥有了你想要的东西。
  • @andi 嗯好吧,看来我必须再次检查整个代码,因为某些东西似乎使它无法正确垂直对齐。

标签: html css vertical-alignment


【解决方案1】:

您使用了错误的 display 属性。使用这个 CSS:

#home {
    display: table;
    text-align:center;
}    
#home #inner {
    display:table-cell;
    height:50px;
    background-color:#ccc;
    vertical-align: middle;
}
#inner div {
    display: inline-block;
}

您可以通过 IE8 中的示例查看此链接http://jsfiddle.net/rd2Hc/18/embedded/result/

【讨论】:

  • 嗯,我需要 #inner div 的显示是内联的。我试过你的代码,但它仍然没有垂直对齐#inner div。
  • AM ok 那么#inner div 在什么内部垂直对齐?你能用小提琴来说明问题吗?
最近更新 更多