Подтвердить что ты не робот

Пространство между div и img?

У меня такой код:

        <div id="sc">  
            <h1>1. Orange</h1>
            <p>some text in here </p>                                          
        </div>
        <img class="separator" src="images/separator.png" /> 

Там ВСЕГДА 13px разрыв между "sc" и "разделителем" img.

Поля и paddings для обоих устанавливаются в 0, null, empty, nothing. Argh. Я так злюсь, d

Я пытался выяснить, что происходит с Firebug, но пространство между ними просто не принадлежит ни к чему, это не маржа, а не дополнение, что это такое?

Нет плавающих точек, никаких настроек отображения, не унаследованных полей или прокладок.

Что случилось с моим кодом? Я пытаюсь удалить пробелы в HTML, но не помогает (кстати, если я поместил разделитель над "sc" div, там тоже некоторый пробел, но меньше).

Спасибо.

[ADDED]

CSS STYLES:

.separator {
    margin: 0;
    padding: 0;
}

#sc {
    text-align: justify;
    padding: 0;
    margin: 0;
    background-image: url('images/bg.png');  
    background-repeat: repeat-y;
    width: 970px;
}
4b9b3361

Ответ 1

Добавить отображение: блок; к изображению .separator.

.separator {
    margin: 0;
    padding: 0;
    display: block;
}

Проблема в том, что изображения иногда могут добавить немного магического пространства вверх/вниз, у меня есть эта проблема, когда я работаю с элементами изображения как элементы *block*.

Ответ 2

У меня был разрыв в 3 пикселя между тегом изображения и div. Также все стили были установлены на 0. Действительно странно.

Исправление:

img {
   vertical-align: middle;
}

Это прекрасно сработало для меня.

Ответ 3

Без скриншотов, чтобы ссылаться на меня оставлено в темноте на то, что вы хотите, так что все это гадают.

Я предполагаю из class="separator", что вы пытаетесь разбить свой контент горизонтальной линией. Разве вы не должны использовать <hr /> с соответствующим стилем, если это так?

В любом случае обратите внимание, что элементы <p> имеют по умолчанию значения по умолчанию.

Я не понимаю, почему вы хотите, чтобы разделитель был хорошо привязан к вашему тексту, потому что он визуально не имеет смысла для меня.

Если вы действительно это делаете, есть множество вариантов:

  • Установите margin-bottom: 0; на <p>
  • Установите margin-top: -*px; на .separator, где вы предполагаете, что у вас всегда будет элемент прямо перед разделителем с нижним полем *px
  • #sc p:last-child { margin-bottom: 0; } и IE9.js для поддержки старых версий Internet Explorer

Но я повторяю; никакая разница между текстом и разделителем не подходит мне.

Ответ 4

потому что между тегами есть пробелы

делать:

</div><img class="separator" src="images/separator.png" />