Internet Explorer - пространство между плавающими блоками

У меня возникла проблема с презентацией 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
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
0
15 174
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Попробуйте добавить display: inline в плавающие блоки div. Я считаю, что это ошибка IE, связанная с добавлением дополнительных полей к плавающим элементам. display: inline работал у меня раньше. Надеюсь это поможет.

Плавающий элемент автоматически устанавливает блокировку отображения; вы не можете перемещать встроенный элемент.

Bryan A 15.01.2009 22:12

Это ошибка с плавающей запятой двойной маржи. Здесь хорошо описано:

http://www.positioniseverything.net/explorer/doubled-margin.html

Я не думаю, что это ошибка двойной маржи. Это больше похоже на ошибку поля 3px

Matty 15.01.2009 22:36
Ответ принят как подходящий

Переместите их оба влево, добавьте следующее после обоих div:

 <div class = "clear"></div>

 .clear { clear: both; }

Это или используйте отступы вместо полей.

Это более или менее сработало. Хотя я добавил очищающий DIV только после последнего элемента (где мне нужен разрыв строки)

Matty 15.01.2009 22:31
.body {
    padding:0px;
    margin:0px;
}

Другие вопросы по теме