html - 如何在彼此之间垂直对齐多个元素

标签 html css

我如何将 div#headerinner 中的 div#headerinner 和 div#headerinner 中的 img.header 垂直居中?

我试过使用vertical-align,但没有任何效果。

我已经能够手动计算像素数并使用填充,但是有没有一种方法可以自动垂直对齐并适用于此处?

<!DOCTYPE html>
<html>
<head>
<style>

body {

    margin: 0;
    padding: 0;
    background-color:red;

}

div#headerouter { 

    width:100%;
    height:120px;
    background-color:yellow; 

}

div#headerinner {

    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 900px;
    height:100px;
    background-color:blue;

}

img.header {

    display: block;
    margin-left: auto;
    margin-right: auto;

}

span#login {

    position: absolute;
    padding-top: 10px;
    left: 10px;
}

div#menu {

    position:absolute;
    margin-left: auto;
    margin-right: auto; 
    height:40px;
    line-height:40px;
    width:100%;
    background-color:black;

}

div#menu ul {

    position:relative; 
    align:top;
    text-align: center; 
    height:40px; 
    line-height:40px;
    vertical-align:middle;
    background-color:green;

}

div#menu li { 

display: inline;
padding-right: 50px;

} 

</style>
</head>
<body>

<div id="headerouter">
<div id="headerinner">
<span id="login">Welcome!</span>
<img class="header" src="mysite/heading.png" alt="Header">
</div>
</div>

<div id="menu">
<ul>
  <li><a href="default.asp">Home</a></li>
  <li><a href="news.asp">News</a></li>
  <li><a href="contact.asp">Contact</a></li>
  <li><a href="about.asp">About</a></li>
</ul> 
</div>

</body>
</html>

最佳答案

JsFiddle

在您的 ID 选择器中使用 display: table;display: table-cell;..

div#headerouter { 

    width:100%;
    height:120px;
    background-color:yellow; 
    display: table;
}

div#headerinner {

    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 900px;
    height:100px;
    background-color:blue;
    vertical-align: middle;
    display: table-cell;
}

关于html - 如何在彼此之间垂直对齐多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24586796/

相关文章:

jquery - 如何让多个单词轮换一个句子中的位置

javascript - Ghost 1.0 Disqus 评论数未反射(reflect)帖子评论

javascript - jquery背景颜色变化过渡

html - Bootstrap 按钮文本不可见

html - 使复选框在标签外可点击

jquery - 在 visual studio 中创建网站

javascript - JQuery/Javascript 选择不可见元素

html - 为什么在 ul 和 li 的情况下悬停行为不直观?

html - 输入组不适合 Chrome 中的整个 td 内容

javascript - 如何检查 undefined variable javascript?