css保证金问题

时间:2010-10-27 11:26:16

标签: css

我的css看起来像这样

* {
     margin: 0;
     padding: 0;
}
body {
    background-color: #FFFFFF;
}
div#header {
    background-color: #969696;
    height: 80px;
}
div#mid-bar {
    background: url(images/home.jpg) left no-repeat #6f6565;
    height: 200px;
}

#searchbox {
    background-color: #c1c1c1;
    width: 200px;
    height: 180px;
    margin: 10px 20px 10px 350px;
}

和我的HTML

    <div id="header">

    </div>
    <div id="mid-bar">
        <div id="searchbox">

        </div>
    </div>

preview

你可以看到问题。标题和mid-bar之间的空格,由于searchbox div中给出的边距而创建。 我希望在mid-bar div中搜索框的这个边距...而不是来自标题div。

5 个答案:

答案 0 :(得分:4)

我知道bug:会使用填充而不是边距。这样:

div#mid-bar {
    background: url(images/home.jpg) left no-repeat #6f6565;
    height: 200px;
padding-top: 10px;
}


#searchbox {
    background-color: #c1c1c1;
    width: 200px;
    height: 180px;
    margin: 0px 20px 10px 350px;
}

答案 1 :(得分:1)

将填充提供给#mid-bar而不是搜索框边距

答案 2 :(得分:1)

我已经看到这种情况发生在你没有给父母提供保证金时,第一个元素,即使是你给予保证金的孩子,也会通过创造利润导致父母的差距。我克服这个问题的一种方法是在父容器上使用填充而不是边距。

请在此处查看带有填充的示例:http://jsbin.com/ememi3

答案 3 :(得分:1)

如果您打算使用边距,请尝试在#mid-bar中设置margin:0;。否则,将#mid-bar设为padding-top:10px;并从#searchbox中移除上边距。

答案 4 :(得分:0)

每个人似乎都同意这一点,填充将比利润更好。我稍微调查了一下,似乎Pixeline是对的,这是Firefox中的一个已知错误,希望他们能在4中修复它。