У меня возникла проблема с презентацией Internet Explorer. Следующий простой блок кода отображается так, как я ожидал, в Safari, FireFox, Chrome и Opera. Однако это приводит к заметному космос между левым и правым плавающими элементами DIV как в IE6, так и в IE7.
Мой вопрос: есть ли еще способ верный для достижения плавающего положения, чтобы один и тот же CSS работал как в IE, так и в других браузерах, о которых я упоминал? Если нет, то как лучше всего избавиться от места в Internet Explorer?
Спасибо, Мэтт
<style>
.left {
width:100px;
float:left;
border: solid black 1px;
}
.right {
width: 100px;
margin-left:100 px;
border: solid red 1px;
}
</style>
<div class = "left">
a
</div>
<div class = "right">
b
</div>
Поскольку это вики сообщества. Я думал, что выложу рабочий код с решением, предложенным ниже Plan B.
<style>
.left {
width:100px;
border: solid black 1px;
float:left;
}
.right {
width:100px;
border: solid red 1px;
float:left;
}
.clear {
clear:both;
}
</style>
<div class = "left">
a
</div>
<div class = "right">
b
</div>
<div class = "clear"></div>
c






Попробуйте добавить display: inline в плавающие блоки div. Я считаю, что это ошибка IE, связанная с добавлением дополнительных полей к плавающим элементам. display: inline работал у меня раньше. Надеюсь это поможет.
Это ошибка с плавающей запятой двойной маржи. Здесь хорошо описано:
http://www.positioniseverything.net/explorer/doubled-margin.html
Я не думаю, что это ошибка двойной маржи. Это больше похоже на ошибку поля 3px
Переместите их оба влево, добавьте следующее после обоих div:
<div class = "clear"></div>
.clear { clear: both; }
Это или используйте отступы вместо полей.
Это более или менее сработало. Хотя я добавил очищающий DIV только после последнего элемента (где мне нужен разрыв строки)
.body {
padding:0px;
margin:0px;
}
Плавающий элемент автоматически устанавливает блокировку отображения; вы не можете перемещать встроенный элемент.