2009-10-21 2 views
2

Это вопрос CSS, который не имеет смысла для меня ..Находит ли отступ относительно позиционированного элемента (0,0) абсолютно позиционированного дочернего элемента?

Сейчас у меня есть что-то вроде этого:

.container { 
    height: 500px; 
    width: 500px; 
    position: relative; 
    padding: 10px; 
} 

.child { 
    top:0px; 
    left:0px; 
    position:absolute; 
    width: 100px; 
    height: 100px; 
} 

Ребенок прямо сейчас пренебрегает отступы родителя. Это кажется мне интригующим. У меня отсутствует быстрое исправление (я не могу добавить отступы/поля для ребенка)? Я испортил DOCTYPE?

Спасибо! Matt Mueller

ответ

1

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

В модели абсолютного позиционирования, A коробки явным образом смещены относительно к его содержащего блока. Он удаляется из нормального потока полностью (он имеет никакого влияния на более поздних братьев и сестер). Точно расположенная коробка устанавливает новый содержащий блок для нормального потока детей и абсолютно (но не фиксированных) расположенных потомков. Однако содержимое абсолютно неподвижного элемента не обтекает в любых других коробках. Они могут затенять содержимое другого ящика (или будут замаскированы сами), в зависимости от уровней стека накладываемых ящиков .

Visual Formatting model - Absolute positioning

Смежные вопросы