2013-06-13 9 views
5

chcę osiągnąć to: enter image description hereKolumny z równej wysokości i koloru tła przepełnionego pojemnika

lub

enter image description here

Korzystnie tylko w css.

Szukałem i przeczytałem ten artykuł http://css-tricks.com/fluid-width-equal-height-columns/. Jednak tak naprawdę nie radzi sobie z kolorami tła przepełniającymi problem z pojemnikiem.

+0

Ten obraz jest rzeczywiście lepsza ilustracja: http://i.imgur.com/3XYHwBk.png – tolborg

+0

Przepełniona co pojemnik? Musisz przynajmniej pokazać nam kod – Turnip

+0

czy możesz umieścić przykładowy kod w [Jsfiddle] (http: // http: //jsfiddle.net/) – Mark

Odpowiedz

1

Gdy masz element div uwięziony w kontenerze nadrzędnym, trudno będzie go przelać w poziomie. Jeśli możesz uzyskać element div, który chcesz przepełnić poza tym kontenerem, byłoby najlepiej.

Jeśli nie, jednym ze sposobów osiągnięcia tego efektu jest użycie opcji: before i: after na elementach div, które mają zostać przepełnione. Zasadniczo dajesz im taką samą wysokość i kolor tła, a następnie ustawiasz je po prawej i lewej stronie głównego 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 */ 
} 

i to samo dla: po, tylko za pomocą prawej i margin-right

+0

nie rób tego @MattCoughlin. Spowoduje to, że: przed i: po elementach w ogóle się nie pokazują, co całkowicie pokonuje cel. overflow: hidden może zostać dodany do najbardziej zewnętrznego elementu zawierającego stronę, aby zapobiec poziomym paskom przewijania, ale musi to być oparte na konfiguracji witryny. – DMTintner

+0

Do tej pory otrzymuję to: http://jsfiddle.net/tolborg/mmMpH/. Jednak, jak widać, użyłem js do rozmiaru div zawartości. Elementy: before i: after mają wysokość 100%, ale nie jest to dobre, jeśli element div nie jest w stanie usunąć pływających kolumn. Jednak jeśli używam clearfix I overflow hidden. Czy można to zrobić bez js? – tolborg

+0

to może i powinno zostać wykonane bez js. Wiele problemów tutaj, ale tutaj są najważniejsze: przed: i: po tym są dla bg-kolor powinien być na rzeczywistym div, który ma ten kolor bg. w tym przypadku użyj: before .content-main i the: after of .content-aside. poprawka powinna zostać zastosowana do elementu div kontenera, który w tym przypadku jest .content. – DMTintner