IE7 поплавок ошибка обходной путь? - PullRequest
4 голосов
/ 14 июня 2011

У меня есть следующий HTML:

<div><span>left</span><span style="float:right;">right</span></div>

По некоторым причинам, float: right, плавает вправо, но тоже спускается на 1 строку. Почему это происходит и есть ли обход?

Вот jsfiddle, чтобы показать его в действии: http://jsfiddle.net/CxaW6/

Но эта ошибка будет отображаться только при просмотре ссылки через IE7.

Ответы [ 3 ]

2 голосов
/ 14 июня 2011

Вы можете либо смести диапазон влево явно с помощью float: left (мое предпочтительное решение), либо поставить разметку с плавающей точкой первой в разметке.Проблема заключается в том, что IE7 предоставляет виртуальную полную ширину первому диапазону, в результате чего второй диапазон отображается на следующей строке.

2 голосов
/ 14 июня 2011

Оставьте поплавок другого промежутка, чтобы исправить это.

<div><span style="float:left;">left</span><span style="float:right;">right</span></div>

Обычно span рассматривается как встроенный элемент. IE7, кажется, обрабатывает их по-разному, поэтому ширина (в процессе компоновки) первого пролета увеличивается до 100%. В этом случае недостаточно места для другого диапазона в этой строке, поэтому он будет перенесен на следующую строку.

0 голосов
/ 14 июня 2011

Плаваем первый промежуток слева или плаваем первый промежуток справа и удаляем свойство float из второго.

...