Clearfix删除保证金0自动?

时间:2012-12-31 23:29:34

标签: css css-float clearfix

使用clearfix时遇到问题...在使用时它将删除div的居中(边距0自动)。因此,以此为例,“容器”div将向左浮动而不是在“标题”中居中。 “某些内容”将是没有定义高度的浮动项目。此时我只能使用clear = display:block;明确:两者;身高:0;宽度:100%;最后在div中正确清除它们。

有什么问题?

示例:

<div id="header">
    <div class="container">
        <div>
            <p>some content</p>
        </div>
        <div>
            <p>some content</p>
        </div>
                          ****<div class="clear"></div>
    </div>
</div>


#header {width: 100%; margin: 0; padding: 0; clear:both;}

.container { clear:both; width: 960px; margin: 0 auto; padding: 0;}

.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}

.clearfix {
display: inline-block;
}

html[xmlns] .clearfix {
display: block;
}

* html .clearfix {
height: 1%;
}

2 个答案:

答案 0 :(得分:2)

我刚遇到这个问题。要清除margin: 0 auto;,您只需使用margin-left: 0;

即可

答案 1 :(得分:0)

确实没有必要像这样使用“clearfix”。您只需要提醒container它是一个包含元素,这可以通过添加此CSS规则轻松完成:

.container {
    overflow:auto;
    zoom:1; /* fix for older IE versions */
}

然后您可以安全地删除“clearfix”div,因为它没有必要。