Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[CSS] dwie kolumny w kontenerze
#1
Witam,

mam kontener o ustalonej szerokosci, nastepnie wrzucam do niego elementy (div) z float: left, o szerokosci rowniej polowie szerokosci kontenera.
Mam efekt taki, ze w dwoch kolumnach w kontenerze mam zagniezdzone elementy. Problem jednak jest taki, ze poniewaz elementy maja rozny kontent - sa roznej wysokosci, to wysokosc kazdego wiersza w kontenerze jest ustalana na taka, jaka ma najwiekszy element w poszczegolnym wierszu. Dlatego w kolumnach powstaja pionowe "biale pola", ktorych chcialbym uniknac.
Moje pytanie brzmi jak sie z tym uporac?

Takto wyglada w tej chwili (html wydziergany na szybko):
http://toper.rootnode.net/test/kolumna.html

Z gory dzieki za podpowiedz.
Odpowiedz
#2
W realnym projekcie też będziesz mieć wszystko na float:left; ? Boksy będą przeskakiwać?
Odpowiedz
#3
(21-10-2009, 00:18)Labsta.com napisał(a): W realnym projekcie też będziesz mieć wszystko na float:left; ? Boksy będą przeskakiwać?

float: left to nie jest wymog - generalnie chce w divie ukladac elementy w dwoch kolumnach.. Jak to w takim razie zrobic lepiej i zeby dzialalo tak jak opisalem?
Odpowiedz
#4
Powiedz mi jeszcze coś.
Elementy mają iść :
1 2
3 4
I co ma się stać z tymi dziurami? Ma tam wskoczyć kolejny element? Czy żółte ma być równej wysokości?

Może podziel na dwie kolumny lewa: 1 i 3, a do prawej wrzuć 2 i 4
Odpowiedz
#5
(21-10-2009, 01:00)Labsta.com napisał(a): Powiedz mi jeszcze coś.
Elementy mają iść :
1 2
3 4
I co ma się stać z tymi dziurami? Ma tam wskoczyć kolejny element? Czy żółte ma być równej wysokości?

Może podziel na dwie kolumny lewa: 1 i 3, a do prawej wrzuć 2 i 4

Kolejnosc elementow powinna byc zachowana 1, 2, 3, 4 - z uwagi na sortowanie elementow.
Zolte pole (element) zwykle nie bedzie byc tej samej wysokosci (i stad te biale pola). Jesli wpada kolejny element, to powinien byc w pionie besposrednio nad tym powyzej w kolumnie.

Myslalem wlasnie o tym, aby podzielic contener na dwa zagniezdzone. Tutaj chodzi mi o bardziej ogolne rozwiazanie, jesli woogle jest takie mozliwe.
Odpowiedz
#6
Trudno mi to sobie teoretycznie wyobrazić, bo zawsze zrobi się bałagan np:
Kod:
<html>
<head>
<title>biale pola w kolumnach</title>
<style type="text/css">
.c {
width: 80%;
background-color: silver;
}
.e {
float: left;
width: 50%;
background-color: yellow;
margin-bottom: 1em;
border-bottom: solid 1px red;
}

.f {
float: right;
width: 50%;
background-color: yellow;
margin-bottom: 1em;
border-bottom: solid 1px red;
}

</style>
</head>
<body>
<h3>DWIE KOLUMY W KONTENERZE</h3>

<div class="c">
    <div class="e">
        element1<br>b<br>c
    </div>
    <div class="f">
        element2<br>a<br>a<br>a<br>a<br>a<br>a
    </div>
    <div class="e">
        element3<br>b
    </div>
    <div class="f">
        element4
    </div>
    <div class="e">
        element5<br>b<br>c<br>d<br>e
    </div>
        <div class="f">
        element6<br>b<br>c
    </div>
</div>

</body>
</html>

Oczywiście to źle działa, chodzi mi o to żebyś zobaczył jak się ustawiły elementy:
1 2
3 2
4 2
5 6

Zwykle elemanty w rózwnych kolumnach ustawi się +/- tak jak masz u siebie (z tą przerwą) przykład u dołu mojego bloga: http://websta.pl/
1 2
3 4

Z kolei na jednej z moich podstron mam 2 kolumny http://labsta.com/uslugi/zamow-strone-www.html ale w układzie
1 4
2 5
3

Więc ogólnie mamy problem, bo jeśli dobrze cię rozumiem to zrobi się bałagan.
Osobiści zastosowałbym układ dwóch kolumn i kolejność
1 2
3 4

Czyli niezależnie od wysokości co drugi element do prawej kolumny. Przy takiej opcji może wyjść np. coś takiego:
1 2
3 2
5 2
7 4
7 6
7

Jeśli dobrze Cię rozumiem to nie przychodzi mi nic innego do głowy. Kolejnośc w kodzie wygląda prosto jednak cięzko mi sobie wyobrazić kolejność, o którą Ci chodzi wizualnie.

EDIT:
Może jakiś realny (praktyczne użycie) by mi to rozjaśniło, bo wyobraźni mi nie starcza Smile
Odpowiedz
#7
(21-10-2009, 02:04)Labsta.com napisał(a): EDIT:
Może jakiś realny (praktyczne użycie) by mi to rozjaśniło, bo wyobraźni mi nie starcza Smile

Oki, w takim razie realny przyklad:
http://poland-art.com/

Pierwsza strona - jakies wystawy. W tej chwili jak obejrzysz kod to jest masakra - dwie kolumny z artykulami sa w postaci tabel, ale uklad jest taki jaki chcialbym miec docelowo, ale w divie i to najlepiej w jednym, jesli to oczywiscie mozliwe.
Odpowiedz
#8
UFFFF Smile Zanim dotarłem do treści otwarłem chyba z 30 wrapperów Big Grin

No tam jest układ 2 kolumnowy na zasadzie:
1 5
2 6
3 7
4 8
Nazwijmy go "gazetowym", czyli inny niż chiałeś. Dokładnie w taki sposób zrobione jak na http://labsta.com/uslugi/zamow-strone-www.html

W przypadku stron www jest to dość nietypowe. Czytamy newsy od lewej do prawej i potem w dół. W gazetach jest to często stosowane, bo jest większa niż ekran i nie trzeba przewijać Smile
Odpowiedz
#9
Odpowiedz
#10
(21-10-2009, 02:50)Labsta.com napisał(a): UFFFF Smile Zanim dotarłem do treści otwarłem chyba z 30 wrapperów Big Grin

No tam jest układ 2 kolumnowy na zasadzie:
1 5
2 6
3 7
4 8
Nazwijmy go "gazetowym", czyli inny niż chiałeś. Dokładnie w taki sposób zrobione jak na http://labsta.com/uslugi/zamow-strone-www.html

W przypadku stron www jest to dość nietypowe. Czytamy newsy od lewej do prawej i potem w dół. W gazetach jest to często stosowane, bo jest większa niż ekran i nie trzeba przewijać Smile

Tak, masz racje - to nie jest wizualnie "posortowane" tak jak chcialem, ale umiejscowienie elementow w kolumnach wyglada dokladnie tak jak mialem na mysli Smile
Widze ze bede jednak musial uzyc dwoch zagniezdzonych kontenerow..

Dzieki za pomoc, a jakby ktos mial pomysl na sposob z jednym konterenerem to zapraszam.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [JS] Dzielenie tablicy na dwie tablice rejcz 1 3,411 05-10-2013, 01:34
Ostatni post: msx83
  Dwie kolumny z jednym tłem w CSS. groobyy88 5 5,017 30-05-2011, 02:07
Ostatni post: groobyy88
  [CSS] układ 3 kolumn - jak wcisnąć środkową między dwie pozostałe Szorstki 10 9,102 27-10-2010, 02:10
Ostatni post: Szorstki
  CSS , 2 kolumny - problem z tłem tiger188 5 3,797 28-07-2010, 15:36
Ostatni post: Kartofelek
  [Problem] Dopasowanie wysokości 1 kolumny do 2 assassin54 1 2,184 10-08-2009, 17:51
Ostatni post: Kartofelek

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl