2013-04-09 4 views
1

У меня есть документ RTL, который имеет элемент, который содержит float: left; с float: right; элементами внутри него. IE7 не отображает его правильно.IE7 RTL float right in float left

См демо и скриншоты:

JS скрипку: jsfiddle.net/R6aS5/

Firefox (правильный)

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/

Оказывает следующим образом -

Firefox:

enter image description here

IE7:

enter image description here

В качестве альтернативы , также может использовать звёздный взлом для исправления для < IE7 только вместо удаления свойства float для всех браузеров:

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