2013-04-09 120 views
1

我有一個RTL文檔,其中包含float: left;float: right;元素。 IE7不能正確呈現它。IE7 RTL漂浮在左側浮動內部

見演示和屏幕截圖:

JS撥弄:jsfiddle.net/R6aS5/

火狐(正確)

enter image description here

IE 7 - 不正確的 - 右浮動元素是它們的父容器

以外

enter image description here

向左浮動的元素(藍色)必須保持流暢。我知道添加諸如width: 200px;之類的東西可以修復它,但裏面的浮動元素是動態的。

回答

1

通過變更float: right;的內部元素 - 刪除浮動,並使用display: inline;zoom: 1;對IE7修復。

JS撥弄:http://jsfiddle.net/8pFsZ/

呈現如下 -

火狐:

enter image description here

IE7:

enter image description here

替代地,也可以使用star hack來修復< IE7而不是刪除所有瀏覽器的浮動屬性:

li { 
    float: right; 
    *float: none; 
    *display: inline; 
    *zoom: 1; 
    border: 1px solid green; 
    padding: 5px; 
}