Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] Jak rozciągnąć div'a zawsze do końca strony niezależnie od ilości tekstu?
Forum PHP.pl > Forum > Przedszkole
1q2w3e4r
Witam,

Jak rozciągnąć div'a do końca strony niezależnie od ilości tekstu?
Poniżej załączam screena przedstawiającego problem:
bzeebzee
w css daj dla elementu min-height: 100%
1q2w3e4r
Niestety bez zmian.
Macie jakieś inne pomysły?
jackraymund
daj cały kod tego diva
JustHuman4
height:100% musi działać i tyle
1q2w3e4r
Udało mi się ustawić to tak:
Cytat
#content {
width: 1005px;
background: url(images/projekt3_20.jpg) repeat-y;
float:left;
min-height: auto;
position: absolute;
bottom: 0;
top: 455px;
}

Jednak w IE tego diva wyrzuca mi w prawo.
W Firefox, Operze i Chrome działa prawidłowo.
crocodillo
Napisz dokładniej o co chodzi. Czy masz tylko tego jednego diva na stronie, czy coś jeszcze. Po ustawieniu position:absolute sprawdź jak się zachowuje strona przy zmniejszaniu okna przeglądarki, bo może to nie być to, czego oczekiwałeś.
maviozo
Masz <!DOCTYPE html>?
1q2w3e4r
Gdybym miał dać to co robię musiałbym wklejać cały szablon. Dlatego szybko na potrzeby problemu zrobiłem stronę. Przedstawia ona problem, który przeszedłem ustawiając:

  1. #content {
  2. width: 1005px;
  3. background: #ffffff;
  4. float:left;
  5. min-height: auto;
  6. position: absolute;
  7. bottom: 0;
  8. top: 222px;
  9. }


Jednak tak jak kolega wyżej powiedział, zmieniając okno przegladarki ten sposób się sypie. Bo ustawiłem position: absolute.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
  3. <title>Test</title>
  4. body {
  5. text-align: center;
  6. }
  7. #all {
  8. width: 1005px;
  9. margin: auto;
  10. }
  11. #header {
  12. width: 1005px;
  13. height: 222px;
  14. background: #808080;
  15. float:left;
  16. min-height: auto;
  17. }
  18. #content {
  19. width: 1005px;
  20. background: #ffffff;
  21. float:left;
  22. min-height: auto;
  23. }
  24. #content_left {
  25. width: 194px;
  26. float:left;
  27. }
  28. #content_right {
  29. width: 811px;
  30. float:left;
  31. }
  32. </style>
  33. </head>
  34. <body style="background-color: #f1f1f1;">
  35. <div id="all">
  36. <div id="header"></div>
  37. <div id="content">
  38.  
  39. <div id="content_left">fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br /></div>
  40.  
  41. <div id="content_right">tyutryutrutrfdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br />fdgjhrytjdsf<br /></div>
  42.  
  43. </div>
  44. </div>
  45. </body>
  46. </html>
Bureau
Cytat(maviozo @ 19.03.2012, 21:20:41 ) *
Masz <!DOCTYPE html>?


?

Czyżby pod tym nagłówkiem IE tez sobie radził z css jak i inne przegladarki ?
by_ikar
Po pierwsze, nadałeś kontenerowi, o identyfikatorze #all margin: auto. Czyli automatyczny margines z każdej strony. Przez co pozostałe kontenery nie będą mogły się rozciągnąć jeżeli podasz im jakąś automatyczną wartość lub wartość procentową. Druga sprawa, nie ma czegoś takiego jak min-height: auto. Jak już używasz css, to używaj go, a nie nadajesz body kolor w sposób lokalny. Po trzecie, w jakim celu nadałeś min-height w header, nadając mu wcześniej stałą wielkość? Dodatkowo, po co header i content ma wartość float? Ostatnia kwestia, jak widzisz że jakieś dane się powtarzają, w tym wypadku szerokość 1005px, to stwórz jakąś klasę, nadaj jej tą szerokość i konkretnym elementom dawaj odpowiednie klasy, zamiast kilka razy dublować te same wartości. Raz że to jest niepotrzebne, a dwa że jest to błąd.

  1. <!DOCTYPE html>
  2. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  3. <title>test</title>
  4. html,body { text-align: center; background: #f1f1f1; margin: 0; padding: 0; height: 100%; }
  5. #wrapper { width: 1005px; background: #fff; margin: 0 auto; position: relative; min-height: 100%; }
  6. .header { height: 222px; background: #808080; }
  7. .content { }
  8. .content p.left { width: 194px; float:left; }
  9. .content p.right { width: 811px; float:left; }
  10. .clear { clear: both; width: 100%; }
  11. </style>
  12. </head>
  13. <div id="wrapper">
  14. <div class="header clear"></div>
  15. <div class="content clear">
  16. <p class="left">
  17. fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br>
  18. fdgjhrytjdsf <br> fdgjhrytjdsf<br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br>
  19. fdgjhrytjdsf <br> fdgjhrytjdsf<br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br>
  20. </p>
  21. <p class="right">
  22. fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br>
  23. fdgjhrytjdsf <br> fdgjhrytjdsf<br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br>
  24. fdgjhrytjdsf <br> fdgjhrytjdsf<br> fdgjhrytjdsf <br> fdgjhrytjdsf <br> fdgjhrytjdsf <br>
  25. </p>
  26. <div class="clear"></div>
  27. </div>
  28. </div>
  29. </body>
  30. </html>


Podsumowując: aby w tym przypadku wrapper, mógł się rozciągnąć na 100% dostępnej wysokości, musi być pozycjonowany relatywnie, czyli jakby trzeba nadać mu pewną "ważność". Dopiero wówczas wtedy min-height: 100% zadziała.

Hint: css height 100%
1q2w3e4r
Dziękuję za zainteresowanie.
W header zostało min-height bo kopiowałem z content nasz szybko, dobra - mało ważne w tym momencie.

Ja nie chciałem aby to białe pole rozciągać od samej góry - tylko od header'a dlatego go utworzyłem. Ponieważ we właściwym szablonie mam przezroczysty nagłówek (png).
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.