Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Вот так сюрприз с отступами!


Автор: verstak 26.12.2006, 02:55
Здравствуйте, дорогие друзья!

Совершенно случайно наткнулся на такую проблему, как отступы в блочной вёрстке. СМОТРИТЕ ВЛОЖЕННЫЙ ФАЙЛ.
В IE отображается верно, а вот в ОПЕРЕ и Мозилле никак не могу добиться правильного отображения отступов, без использования padding.

Жду от вас помощи в этом вопросе! 

Автор: gobogo 26.12.2006, 06:32
Нужно просто задать правильно поведение слоя относительно родительского smile

Код

.content{
background:#FFFF99; 
width:800px; 
height:30px; 
margin-top: 20px;
position: absolute;
}


Все дело в http://hosting.skif.net/docs/css2/visuren.html#propdef-position

Автор: americanets 26.12.2006, 12:10
те position: определяет положение относительно того где стоит слой? Или относительно границ? 

Автор: gobogo 26.12.2006, 16:15
Я бы сказал position определяет поведение слоя в родительском слое. Ну, по CSS2 это называется "схема позиционирования" (Positioning schemes). 

Цитата

'position'
    Значение:    static | relative | absolute | fixed | inherit
    Начальное:    static
    Применяется:    ко всем элементам, но не к генерируемому содержимому
    Наследуется:    нет
    Процентное:    N/A
    Носитель:    визуальный

Значения имеют следующий смысл:

static
    Бокс является нормальным боксом, расположенным в соответствии с нормальным расположением. Свойства 'left' и 'top' не применяются. 
relative
    Позиция бокса высчитывается в соответствии с нормальным расположением. Затем бокс смещается относительно нормального расположения. Если бокс В позиционирован относительно, расположение последующего бокса вычисляется так, как если бы бокс В не имел смещения. 
absolute
    Позиция бокса (и возможные размеры) определяется свойствами 'left', 'right', 'top' и 'bottom'. Эти свойства устанавливают смещение относительно бокса содержащего блока. Абсолютно позиционированные боксы изымаются из нормального обтекания. Это значит, что они не влияют на вывод последующих родственных элементов. Также, хотя абсолютно позиционированные боксы имеют поля, они не соединяются с другими полями. 
fixed
    Позиция бокса вычисляется в соответствии с моделью 'absolute', но, в дополнение к этому, бокс фиксируется в соответствии с некоторой ссылкой. В случае с непрерывными носителями, бокс фиксируется относительно порта просмотра (и не перемещается при прокрутке). В случае со страничными носителям, бокс фиксируется относительно страницы, даже если страница просматривается через порт просмотра (в случае просмотра перед печатью, например). Авторам может понадобиться специфицировать 'fixed' способом, не зависящим от носителя. Например, автор может захотеть, чтобы бокс оставался в верхней части порта просмотра экрана, но не вверху каждой печатаемой страницы. Две такие спецификации можно разделить, используя правило @media, как здесь:

    Пример(ы):

Код

    @media screen { 
      H1#first { position: fixed } 
    }
    @media print { 
      H1#first { position: static }
    }




Автор: americanets 26.12.2006, 16:22
понял спасибо

Автор: verstak 26.12.2006, 19:23
но если применить абсолютное позиционирование, последующие элементы в родительском блоке не будут зависить от абсолютно позиционируемого элемента, что не есть хорошо!

И вообще скажите мне это баг в Мозилле и Опере или так оно и должно быть?
и есть ли ещё какие-либо способы решить эту проблему?

Автор: gobogo 28.12.2006, 13:57
Хм... Странная постановка вопроса - взгляните для начала на http://www.positioniseverything.net/explorer.html. А потом давайте обсудим что является багами FF или Opera. Многое это баги IE и никак иначе. Почитайте все что выдает гугл на запрос "IE bugs" -  может быть даже удивитесь.  smile 

Автор: verstak 28.12.2006, 14:06
ну я не знаю как ещё назвать то, что в Мозилле и Опере не верно отображается код (смотрите вложение в самом начале)

Добавлено @ 14:08 
или Вы считаете что код правильно отображается? Может я не прав?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)