4

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

上帝 坏的

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/

有什么问题?

4

3 回答 3

4

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

div#video{
    vertical-align:top;
}

nav{
    vertical-align:top;
}

http://jsfiddle.net/xHNJm/

于 2013-03-12T21:29:10.517 回答
1

display: inline-block;从两者中删除

添加float: left;到两者

<div style="clear: both"></div>在下面添加一个<div id="comments">

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

于 2013-03-12T21:30:24.340 回答
0

就个人而言,我总是尽量避免使用 inline-block,只是因为跨浏览器的绳索行为。

我将使用以下 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;
}
于 2013-03-12T21:33:42.463 回答