div内垂直对齐,垂直对齐:中间不工作

mis*_*hap 5 html css vertical-alignment

垂直对齐:中间; 不管用.

From css file :
#header {height:150px; text-align: center; vertical-align: middle;}

<div id="header">
    <img alt="" id="logo" src="images/logo.png" />
</div>
Run Code Online (Sandbox Code Playgroud)

如果它有助于将徽标与包装div的中心对齐,我会将徽标包装在另一个div中.

diE*_*cho 18

做这个

#header {display:table;}
#logo {display:table-cell; vertical-align:middle;}
Run Code Online (Sandbox Code Playgroud)

参考

  • 这个答案要比公认的一个好! (2认同)

小智 5

你只能通过填充来做到这一点,因为line-height和vertical-align的其他两种方式无法工作img....

#logo
{
padding: 20px 0;
}
Run Code Online (Sandbox Code Playgroud)

20px 可以随心所欲.