为什么我的第一个内联块元素上面有空格

时间:2013-03-22 01:07:19

标签: html css

我在容器内部有内联块元素,应该从容器的左上角开始显示。由于某种原因,第一个元素显示在它应该的下面。我已尝试过边距和填充重置,但在检查时无论如何都没有边距或填充。

这里是html(没有空格,所以它们不会破坏布局):

 <div class='nav'><div class='logo'><p>test</p></div><ul><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li></ul></div>

这是css:

.nav {
    position: relative;
    width: 80%;
    height: 50px;
    background-color: red;
    z-index: 1;
}
.nav .logo {
    display: inline-block;
    width: 10%;
    height: 100%;
    background-color: #f90;

}
.nav ul {
    display: inline-block;
    width: 90%;
    text-align: center;
}
.nav li {
    display: inline-block;
    height: 100%;
    line-height: 50px;
    width: 20%;
    background-color: grey;
}
.nav li a {
    margin: 0;
}

这是一个显示问题的代码:

http://codepen.io/Wryte/pen/Guavp

1 个答案:

答案 0 :(得分:25)

它们没有对齐,因为它们的垂直对齐方式为baseline,如果将它们设置为top它们会排成一行:

.nav .logo {
    display: inline-block;
    vertical-align: top;
    width: 10%;
    height: 100%;
    background-color: #f90;

}
.nav ul {
    display: inline-block;
    vertical-align: top;
    width: 90%;
    text-align: center;
}

http://codepen.io/anon/pen/Kpthz