Код (PHP): <!DOCTYPE html> <html> <body> <div style="width: 400px; height: 400px; outline: 1px solid black;"> <div style="width: 200px; height: 200px; outline: 1px solid red; margin: 15px;"> </div> </div> </body> </html> margin: 15px, как я понимаю должен делать отступ со всех сторон, а тут отступ слева есть, а сверху нет. Браузер - опера.
все он делает. просто он отступает от верхней границы окна браузера а не от родительского элемента. это видно если в отладчике наводвить на элементы дерева и смотреть визуальное расположение блоков на странице.
Всё правильно. У вас блок внутри блока. У внешнего блока не заданы внутренние отступы, сделовательно, margin внутреннего блока отсчитывает не от них, а от отступов body. Установите во внешнем блоке padding:0; вам понравится. Добавлено спустя 2 минуты 4 секунды: А нет, чёто я соврал насчёт padding:0; а вот с padding:1px; работает...
Но слева то он отступает от блока, а сверху от body. В чём разница. Кстати, float: left, установленное для внутреннего блока меняет поведение на ожидаемое. Но почему отступ сверху не работает без float: left; Почемуууу????
ноль эмоций чёт. А вот паддинг в 1 пиксель на первом диве (или вообще любой положительный) складывает паддинг внешнего и маргин внутреннего
Там понятно, привороты/отвороты и всё такое. Но тут, казалось бы, точные науки, а по факту, каждый браузер что хочет, то и вытворяет))) Вот как такое может быть?