Заставить контейнер «очистить» поле отступа элемента без переполнения: скрыто?

0

У меня есть внешний div и внутренний div. Я хочу, чтобы внутренний div имел край 10px в верхнем конце внешнего div.

<div class="outer">
    <div class="inner">
        this one should have 10px margin top to the outer div!
    </div>
</div>

Я не хочу использовать overflow:hidden поскольку мне нужно разместить некоторый контент вне div. Итак, каковы возможности? Я знаю, что могу использовать border-top или padding-top, но это кажется мне немного взломанным. Разве нет другого способа сказать внешнему div "уважать" (ясно, какое правильное слово?) Поле внутреннего div?

Здесь соответствующий jsFiddle: http://jsfiddle.net/jmuheim/C3eDa/

  • 0
    Я не совсем понимаю, в чем проблема - «Мне нужно поместить некоторый контент за пределы div». Как это мешает вам сделать это? Можете ли вы привести пример этого?
  • 0
    попробуйте это jsfiddle.net/crew1251/C3eDa/1
Показать ещё 2 комментария
Теги:
margin

2 ответа

0

Вы можете очистить поля внутреннего содержимого, используя псевдоэлементы на внешнем контейнере.

Пытаться:

/* clear margins of inner content */
.outer:before, .outer:after {
    content: "";
    display: table;
    clear: both;
}
  • 0
    Немного обновил код для упрощения. Я считаю, что это решает ваш первоначальный вопрос, если у вас не было других требований, о которых вы забыли упомянуть.
0

Ваш вопрос не очень хорошо сформулирован, поэтому я ответил, насколько мог. Я предполагаю, что вам нужно пространство размером 10 пикселей выше и снаружи внутреннего div, но внутри внешнего div. Поэтому я рекомендую поместить прокладку в верхнюю часть внешнего div. Это заставит верхний край 10px на внутреннем div независимо от того, что.

.outer {
    padding-top:10px;
}

http://jsfiddle.net/C3eDa/2/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню