css – IE7中的奇怪的浮动行为

我想创建一个包含标题和一些工具按钮的标题栏的简单框.我有以下标记
<div style="float:left">
    <div style="background-color:blue; padding: 1px; height: 20px;">
        <div style="float: left; background-color:green;">title</div>
        <div style="float: right; background-color:yellow;">toolbar</div>
    </div>
    <div style="clear: both; width: 200px; background-color: red;">content</div>
</div>

这可以在Firefox和Chrome中显示出来:

http://www.boplicity.nl/images/firefox.jpg

然而,IE7完全混乱,将正确的浮动元素放在页面右侧:

http://www.boplicity.nl/images/ie7.jpg

这可以解决吗?

解决方法

指定最外层的宽度.
如果您的内容div中的宽度意味着这是您的框的总宽度,只需将其添加到最外层的div,并(可选)从内容删除它,如下所示:
<div style="float:left; width: 200px;">
    <div style="background-color:blue; padding: 1px; height: 20px;">
        <div style="float: left; background-color:green;">title</div>
        <div style="float: right; background-color:yellow;">toolbar</div>
    </div>
    <div style="clear: both; background-color: red;">content</div>
</div>

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效