流体子元件1px太宽,但只在一个地方

时间:2013-07-24 20:23:08

标签: html css

http://jsfiddle.net/Yn7e7

由于某种原因,“。ep”div仅在“.heading”容器中为1像素太宽,导致标题流向下一行。对于通过php动态生成的内容,我在“#contents”div中放置并具有相同的精确结构/使用与“.heading”div完全相同的CSS,它可以正确显示。我甚至用W3C验证了我的HTML / CSS。是什么给了什么?

有关更强大的示例,请参阅我正在处理的项目here

下面的代码(对于那些不想点击的人)。

HTML:

<body>
    <div class="container">
        <div class="container toolbar">
            <div class="search"></div>
        </div>
        <div class="container heading">
            <div class="sid"><p>Show ID</p></div>
            <div class="network"><p>Network</p></div>
            <div class="title"><p>Title</p></div>
            <div class="ep"><p>Episode</p></div>
        </div>
        <div id="contents">
            <div id="loading" style="display: none">
                <img src="assets/img/loading.gif" alt="loading" />
            </div>
        </div>
    </div>
</body>

CSS:

html, body {
    min-height: 100%;
}
body {
    font-family: 'Open Sans', helvetica, arial, sans-serif;
}
.container p {
    margin: 0;
}
#contents {
    margin-top: 8em;
}
#contents #loading {
    display: inline-block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -8px 0 0 -8px;
}
.toolbar {
    position: fixed;
    top: 0;
    background: #ccc;
    color: #000;
    margin: 0;
    line-height: 5em;
}
.toolbar > div {
    display: inline-block;
    padding: 0;
    margin: 0;
}
.heading {
    position: fixed;
    top: 5em;
    font-weight: bold;
    background: #00f;
    color: #fff;
    margin: 0;
}
.heading > div {
    display: inline-block;
    padding: 0;
    margin: 0;
}
.heading p {
    padding: 0;
    line-height: 3em;
}
.sid {
    width: 10%;
}
.network {
    width: 25%;
}
.title {
    width: 50%;
}
.ep {
    width: 15%;
}

2 个答案:

答案 0 :(得分:1)

问题是标题儿童div的内联块。 inline-block将元素显示为内联,但保留了块级元素的一些定位功能。这意味着空格被视为内联元素,因此每个div之间的换行符将呈现为空格并抛弃宽度。

摆脱空格或使用浮点而不是内联块。

答案 1 :(得分:0)

尝试删除div之间的空格。

<div class="container heading"><div class="sid"><p>Show ID</p></div><div class="network"><p>Network</p></div><div class="title"><p>Title</p></div><div class="ep"><p>Episode</p></div></div>

<div class="container heading"><!--
    --><div class="sid"><p>Show ID</p></div><!--
    --><div class="network"><p>Network</p></div><!--
    --><div class="title"><p>Title</p></div><!--
    --><div class="ep"><p>Episode</p></div><!--
--></div>