我有一个 RTL 文档,其中包含一个元素,float: left;其中包含float: right;元素。IE7 无法正确呈现它。
查看演示和屏幕截图:
JS小提琴:jsfiddle.net/R6aS5/
火狐(正确)

IE 7 - 不正确 - 正确的浮动元素在其父容器之外

向左浮动的元素(蓝色)必须保持流动。我知道添加类似的东西width: 200px;会修复它,但里面的浮动元素是动态的。
我有一个 RTL 文档,其中包含一个元素,float: left;其中包含float: right;元素。IE7 无法正确呈现它。
查看演示和屏幕截图:
JS小提琴:jsfiddle.net/R6aS5/
火狐(正确)

IE 7 - 不正确 - 正确的浮动元素在其父容器之外

向左浮动的元素(蓝色)必须保持流动。我知道添加类似的东西width: 200px;会修复它,但里面的浮动元素是动态的。
通过更改内部元素的解决方法修复了float: right;- 删除了浮动并display: inline;用于zoom: 1;IE7。
JS 小提琴:http: //jsfiddle.net/8pFsZ/
呈现如下 -
火狐:

IE7:

或者,也可以使用 star hack 仅修复 < IE7,而不是删除所有浏览器的 float 属性:
li {
float: right;
*float: none;
*display: inline;
*zoom: 1;
border: 1px solid green;
padding: 5px;
}