Ребенок принимает всю ширину тела, не вырываясь из потока

0

Мне нужен CSS для ребенка, который принимает полную ширину тела, но не выходит из потока (без использования Javascript). Я уже пробовал это:

position: absolute;
left: 0;
width: 100%;

Но это заставляет ребенка вырваться из потока. Вот пример: http://jsfiddle.net/v5Mq4/ Высота абсолютно позиционированного дочернего элемента является переменной. Таким образом, margin-bottom или margin-top не применяются.

Изображение 174551

  • 0
    что ты имеешь в виду нарушить поток? Что это делает сейчас?
  • 0
    Дочерние элементы, которые идут после абсолютно позиционированного дочернего элемента, занимают его место, как будто его нет в потоке документов. Я хочу, чтобы абсолютно позиционированный дочерний элемент занял заданную высоту в родительском контейнере.
Показать ещё 3 комментария
Теги:
css-position

2 ответа

0

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

Классы CSS

.relative {
  position: relative;
  width: 200px;
  height: 400px;
  background-color: red;
}
.absolute {
  position: absolute;
  top: 120px;
  left: -100px;
  width: 200%;
  height: 200px;
    background-color: black;
}

и DIVS

<div width='100%' align='center'>
    <div class='relative'>
        <div class='absolute'>
        </div>
    </div>
</div>

Кроме того, вам нужен другой родительский контейнер (или тело) для центрирования содержащихся элементов.

Здесь jsFiddle с решением в нем.

http://jsfiddle.net/mgleeson/35vDd/

Приветствия.

0

Абсолютное позиционирование удаляет элемент из потока документов.

Вы можете делать то, что собираетесь, но вам нужно будет заполнить свой макет, создав разрыв разного размера. Вы можете сделать это, добавив margin-bottom к предыдущему элементу.

  • 0
    Но высота может быть разной. Я бы не знал высоты заранее.
  • 0
    Вот где приходит JavaScript.
Показать ещё 1 комментарий

Ещё вопросы

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