Это проблема, с которой я столкнулся с IE7. Во всех других (более новых) браузерах это хорошо видно ... почему position:relative;
повлияли на float: right;
или float: left;
? Есть ли способ сохранить position: relative
, не жертвуя функциональностью float
?IE7 поплавки исчезают, когда их родительский элемент находится в положении: relative
JS скрипку: http://jsfiddle.net/uW7JV/2/
Без position: relative;
С position: relative;
(на красном поле)
Еще более обрезается вниз версия: http://jsfiddle.net/uW7JV/4/
Интересно ... Удаление <div class="clearboth"></div>
позволяет t он доволен показать. Тем не менее, мне нужна эта функциональность, поэтому я все еще ищу исправление. http://jsfiddle.net/uW7JV/9/
Вам действительно нужен этот родственник: позиция? Поскольку IE7 ведет себя как более похожий на IE6 (я думаю, что это хуже), я думаю, вы должны установить внутри floatting tag также в относительном положении. position: relative делает reflow/refresh на экране, поэтому родитель перерисовывается, а не дочерние элементы, которые на самом деле не находятся в потоке ... floatting. (надеюсь, вы понимаете мой смысл) –
В этом примере это не имеет значения, но мне это нужно для сайта, который я создаю. Внутри этого родителя есть больше, чем просто плавающие элементы. – allicarn
в порядке, продолжайте играть под IE7 или 6 в стандартном режиме с относительным позиционированием и посмотрите, что я имею в виду при пересчете на экране. Если вы использовали код для IE6/7, вы могли бы перегрузить некоторый контент, который бы сменил hasloyout или нет, где относительное было средством для сохранения элементов на экране. Вы имеете дело со знаменитым haslayout там :) –