Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS]Ustawienie automatyczne div
Forum PHP.pl > Forum > Przedszkole
-tintink-
Witam mam pytanie jak wyrównać automatycznie kolor czerwony do niebieskiego (obrazek) http://tinypic.pl/6m6kdq5ctzbw za pomocą div, w obramowaniu niebieskim mam większą ilość tekstu.
jacobson
Najlatwiej podziel sobie to na 2 kolumny
  1. <div id="calosc">
  2. <div id="kolumna1">
  3. <div id="czerwony"></div>
  4. <div id="bialy"></div>
  5. </div>
  6. <div id="kolumna2">
  7. <div id="niebieski"></div>
  8. </div>
  9. </div>


dajesz kolumna1 i kolumna2 float:left. Nastepnie czerwony ma float:left, bialy ma clear i float left no i niebieski ma float left. Pierwszy leszy sposob jaki przyszedl do glowy.
iro88
Chyba źle zrozumiałeś autora. Chce osiągnąć za pomocą DIV efekt taki jak w tabeli. Czyli wraz z wysokością jednej komórki druga też się rozciąga i nie ma "białego" pustego pola pod spodem. Hmm... i tak właśnie bym zrobił na miejscu autora tematu - czyli użył tabeli, mimo iż nie powinno się ich używać do tworzenia layoutów, jeśli jest to najprostsze rozwiązanie to po co kombinować.

@tintink Jeśli chce Ci się bawić to pokombinuj z display:table i display:table-cell. Jednym zdaniem musisz nadać DIV'om taki sam styl jakie mają w oryginale znaczniki <td> i prawdopodobnie ująć jeszcze całość w DIV o właściwościach <talbe> (choć nigdy tego nie próbowałem)
Damonsson
Jeden mądrzejszy od drugiego biggrin.gif

Najprościej zrobić to tak:

  1. #glowny {
  2. background: #0ff;
  3. }
  4. #tresc {
  5. margin-left: 80%;
  6. background: #0f0;
  7. }
  8. #lewa {
  9. width: 20%;
  10. float: left;
  11. }

  1. <div id="glowny">
  2. <div id="lewa">
  3. lalalalalalalala
  4. </div>
  5.  
  6. <div id="tresc">
  7. Lewy div powinien rozciagac sie wg wysokosci tego diva <br> <br> <br> <br> <br> <br>
  8. </div>
  9. </div>
-tintink-
Dzięki Damonsson, mam jeszcze jedno pytanie ten sam przykład tylko z trzema kolumnami?
iro88
Cytat(Damonsson @ 1.11.2011, 13:41:08 ) *
Jeden mądrzejszy od drugiego biggrin.gif

O, mądry się odezwał biggrin.gif

Cytat(Damonsson @ 1.11.2011, 13:41:08 ) *
  1. #glowny {
  2. background: #0ff;
  3. }
  4. #tresc {
  5. margin-left: 80%;
  6. background: #0f0;
  7. }
  8. #lewa {
  9. width: 20%;
  10. float: left;
  11. }

  1. <div id="glowny">
  2. <div id="lewa">
  3. lalalalalalalala
  4. </div>
  5.  
  6. <div id="tresc">
  7. Lewy div powinien rozciagac sie wg wysokosci tego diva <br> <br> <br> <br> <br> <br>
  8. </div>
  9. </div>

Twoje rozwiązanie jest jedynie marnym zamaskowaniem problemu, gdy przepełnisz drugi kontener już nie jest tak pięknie. Chcąc mieć dostosowanie wysokości obu "komórek" niezależnie od tego która z nich będzie wyższa, należy zrobić tak jak pisałem w poprzednim poście.
Damonsson
@iro88 Tabele służą do przedstawiania danych tabelarycznych, amen! A kolega zaznaczył, że w kontenerze prawym będzie więcej tekstu, więc jaki sens stosować inne rozwiązanie? Nie, nie należy stosować Twoich pseudo rozwiązań.



Hmmm to już bardziej skomplikowana sprawa, ale możesz zastosować faux columns, przykład dla 3 kolumn masz na przykład tutaj:
http://line25.com/articles/create-sidebars...th-faux-columns
iro88
Wiem, że stosowanie tabel do tworzenia layoutów jest złą praktyką, nie musisz mi tego uświadamiać. Osobiście stosuje je w ostateczności. Myślę, że to nie temat na wywody o tabelach, ale sądzę, że warto było wspomnieć o tym, iż rozwiązanie problemu autora jest bardzo proste za pomocą tabeli.
lobopol
Masz kilka metod na to najprostsza to http://www.code-sucks.com/css%20layouts/fa...s/faux-6-2-col/ tu masz bez obrazków http://matthewjamestaylor.com/blog/equal-h...ns-3-column.htm
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.