2013-06-13 2 views
5

Я хочу, чтобы достичь этого: enter image description hereКолонны с одинаковой высоты и цвета фона переполненном контейнера

или

enter image description here

Предпочтительно в CSS только.

Я искал и читал эту статью http://css-tricks.com/fluid-width-equal-height-columns/. Однако на самом деле он не справляется с цветами фона, переполняющими проблему с контейнером.

+0

Это изображение является фактически лучшей иллюстрацией: http://i.imgur.com/3XYHwBk.png – tolborg

+0

перелив, что контейнер? Вам нужно хотя бы показать нам код – Turnip

+0

, можете ли вы разместить образец кода в [Jsfiddle] (http: // http: //jsfiddle.net/) – Mark

ответ

1

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

Если нет, то одним из способов достижения этого эффекта является использование: before и: after на divs, которые вы хотите переполнить. В основном вы даете им ту же высоту и фоновый цвет, а затем позиционируете их вправо и влево от главного div.

.overflowing-div { position: relative; } 
.overflowing-div:before { 
    content: ''; 
    position: absolute; 
    top: 0; left: 0; 
    margin-left: -100%; 
    width: 100%; 
    height: 100%; /* or fixed height if you know the height of the div you want to extend */ 
    background-color: #ccc; /* same color as .overflowing-div */ 
} 

и то же самое для: после того, как, используя только правую и правый край-

+0

не делайте этого @MattCoughlin. Это приведет к тому, что элементы before и: after не будут отображаться вообще, что полностью победит цель. overflow: скрытый может быть добавлен к самому внешнему содержащему элементу страницы, чтобы предотвратить горизонтальные полосы прокрутки, но это должно быть основано на настройке сайта. – DMTintner

+0

До сих пор я получаю это: http://jsfiddle.net/tolborg/mmMpH/. Однако, как вы можете видеть, я использовал js для определения размера div. Элементы: before и: after имеют высоту 100%, но это нехорошо, если содержимое div не очищает плавающие столбцы. Однако, если я использую clearfix I переполнение скрыто. Можно ли это сделать без js? – tolborg

+0

это можно, и должно быть сделано без js. Здесь много проблем, но вот основные: a: before и: after that для bg-color должны быть на фактическом div, который имеет этот bg-цвет. в этом случае используйте: before of .content-main и: after of .content-aside. clearfix следует применить к контейнеру div, который в этом случае является .content. – DMTintner

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