为什么项目不显示内联?

时间:2013-03-12 21:24:01

标签: html css

发生了奇怪的事情......我正在使用display: inline-block来显示元素内联。一切都好,直到添加添加一些新元素。以下是一个例子:

god bad

CSS:

section#main{
    width: 960px;
    margin: 7% auto 0;
    background: #000;
    opacity: 0.86;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 5px;
}

div#video{
    border: 1px solid red;
    width: 640px;
    height: 360px;
    margin: 10px;
    display: inline-block; 
}

nav{
    margin: 10px;
    border: 1px solid yellow;
    display: inline-block;
    height: 360px;
    width: 270px;
}

HTML:

<section id="main">
        <div id="video"></div>
        <nav>
            <ul>
            <li>Keliaujame ?... JAV: ?ikaga / Chicago S01E03</li>           
            </ul>
        </nav>
        <div id="comments"></div>
    </section>

http://jsfiddle.net/nonamez/PfeP5/2/

可能出现什么问题?

3 个答案:

答案 0 :(得分:4)

这是一个垂直对齐问题,只需将两个元素垂直对齐设置为顶部

div#video{
    vertical-align:top;
}

nav{
    vertical-align:top;
}

http://jsfiddle.net/xHNJm/

答案 1 :(得分:1)

从两个

中删除display: inline-block;

float: left;添加到

<div style="clear: both"></div>

下方添加<div id="comments">

如此小提琴所示:http://jsfiddle.net/9BsS3/

答案 2 :(得分:0)

就个人而言,我总是试图避免使用内联块,因为跨浏览器的绳索行为。

我会使用以下CSS(删除display:inline-block;并在其位置使用float:left(确保父元素也会浮动以确保清除子浮动元素):

section#main{
    width: 960px;
    margin: 7% auto 0;
    float:left;
    background: #000;
    opacity: 0.86;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 5px;
}

div#video{
    border: 1px solid red;
    width: 640px;
    height: 360px;
    margin: 10px;
    float:left;
}

nav{
    margin: 10px;
    border: 1px solid yellow;
    float:left;
    height: 360px;
    width: 270px;
}
nav ul {
    margin:0;
    padding:0;
    list-style:none;
}
nav li {
    color:#fff;
}