Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [css]Szerokość divów
Forum PHP.pl > Forum > Po stronie przeglądarki
kamil_lk
Cześć.
Staram się zrobić aby div po lewej i po prawej rozciągały się do pozostałej części ekranu gdy środkowy ma szerokość 960px.
Jak na razie to mam coś takiego
  1. <div style="overflow: hidden;">
  2. <div style="width: 150px; float: right; background: blue;">niebieski</div>
  3. <div style="width: 150px; float: right; background: green;">zlelony</div>
  4. <div style="margin-right: 300px; background: yellow;">zolty</div>
  5. </div>


i to działa w ten sposób że div żółty dopasowuje się do okna gdy niebieski i zielony ma ustaloną wartość.
W jaki sposób zrobić aby żółty i niebieski dopasowywały się automatycznie?
kamil4u
http://jsfiddle.net/g7bKP/

  1. #main{ width: 100%; overflow: hidden; }
  2.  
  3. #blue{ width: 50%; margin-right: -200px; float: left; background: blue; }
  4. #green{ width: 400px; float: left; background: green; }
  5. #yellow{ width: 50%; margin-right: -200px; float: left; background: yellow; }


200px to połowa z 400px smile.gif
kamil_lk
Siema.

Odświeże trochę temat smile.gif

Kod, który podał kamil4u działa przy uzupełnieniu divów kolorami, natomiast gdy zastosuję ten sam kod, bez tła dla diva środkowego to widać, że div z lewej strony wchodzi pod diva, aż do środka ekranu.

Wie ktoś jak to naprawić, aby ten div rozciągał się tylko do określonej szerokości?
Arcioch
Jeżeli chcesz zrobić aby te divy były równo a nie podchodziły pod siebie musisz to zrobić a pomocą js i zmieniać szerokość bocznych divów w zależności od zmiany okna przeglądarki.

Czyli robisz to mniej więcej w ten sposób.

  1.  
  2. $(function() {
  3. function sprawdzRozmiarOkna() {
  4. var okno_width = $(window).width();
  5. var left_and_right = (okno_width-960)/2;
  6. $('div.left, div.right').css({"width" : left_and_right});
  7. }
  8. sprawdzRozmiarOkna();
  9. $(window).resize(sprawdzRozmiarOkna)
  10. });
  11.  
  12. div.left{
  13. display: block;
  14. position: absolute;
  15. top: 0;
  16. left: 0;
  17. height: 100%;
  18. background: red;
  19. }
  20.  
  21. div.right{
  22. display: block;
  23. position: absolute;
  24. top: 0;
  25. right: 0;
  26. height: 100%;
  27. background: red;
  28. }
  29.  
  30. div.center{
  31. display: block;
  32. margin: 0 auto;
  33. width: 960px;
  34. height: 400px;
  35. background: green;
  36. }
  37.  
  38. <div class="left"></div>
  39. <div class="center"></div>
  40. <div class="right"></div>


Oczywiście wymaga to dopracowania i dołaczenia biblioteki jQuery.
Pisane bez testów ale powinoo działać.
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.