Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS]Kilkuwarstwowe tło, zależne od wysokości strony
Forum PHP.pl > Forum > Przedszkole
klapaucius
Na swojej stronie muszę stworzyć tło składające się z trzech divów: górny, srodkowy i dolny. Górny i dolny div będą miały tła obrazkowe - o stałej wysokości. Natomiast div środkowy będzie posiadał tło z koloru, którego wysokośc byłaby zależna od wysokości całej strony. Czyli miałby się powiększać wraz z ilością tekstu/treści na stronie.

Tło musi się znajdować w kontenerze - divie o wartości position: absolute (ażeby tło było za wszystkimi innymi wartswami strony).

Oto uproszczony szkielet strony:
Kod
<html>
    <head>
        <style type="text/css">
            .background {
                position: absolute;
                z-index: -10;
                width: 100px;
            }
            .background .top {
                background: red;
                height: 100px;
            }
            .background .center {
                min-height: 100px;
                background: green;
            }
            .background .bottom {
                background: yellow;
                height: 100px;
            }
        </style>
    </head>
    <body>
        <div class="background">
            <div class="top"></div>
            <div class="center"></div>
            <div class="bottom"></div>
        </div>
        <p>
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
            Tresc strony<br />
        </p>
    </body>
</html>



No i teraz jak zrobić, aby środkowy div .center powiększał się analogicznie do ilości tekstu na stronie?
Ciosek
Nie wiem czy dobrze zrozumialem ale sprawdz:

overflow: auto;
klapaucius
Cytat(Ciosek @ 27.07.2013, 14:37:40 ) *
Nie wiem czy dobrze zrozumialem ale sprawdz:

overflow: auto;


Ale dodając to do divu .center ? Niestety nie działa.
Ciosek
Tak.

Mam tylko jedno pytanie:
Dlaczego zrobiles to tak:

  1. <div class="background">
  2. <div class="top"></div>
  3. <div class="center"></div>
  4. <div class="bottom"></div>
  5. </div>
  6. <p>
  7. Tresc strony<br />
  8. Tresc strony<br />
  9. Tresc strony<br />
  10. Tresc strony<br />
  11. Tresc strony<br />
  12. Tresc strony<br />
  13. Tresc strony<br />
  14. Tresc strony<br />
  15. Tresc strony<br />
  16. Tresc strony<br />
  17. Tresc strony<br />
  18. Tresc strony<br />
  19. </p>
  20. </body>


A nie tak:

  1. <div class="background">
  2. <div class="top"></div>
  3. <div class="center"><p>
  4. Tresc strony<br />
  5. Tresc strony<br />
  6. Tresc strony<br />
  7. Tresc strony<br />
  8. Tresc strony<br />
  9. Tresc strony<br />
  10. Tresc strony<br />
  11. Tresc strony<br />
  12. Tresc strony<br />
  13. Tresc strony<br />
  14. Tresc strony<br />
  15. Tresc strony<br />
  16. </p></div>
  17. <div class="bottom"></div>
  18. </div>
  19.  
  20. </body>



W ten sposob powinno wszystko dzialac jak nalezy
Crozin
Dlaczego nie skorzystasz po prostu z wielu teł ustawionych dla jednego elementu?
klapaucius
Cytat(Ciosek @ 27.07.2013, 15:21:03 ) *
Tak.

Mam tylko jedno pytanie:
Dlaczego zrobiles to tak:

  1. <div class="background">
  2. <div class="top"></div>
  3. <div class="center"></div>
  4. <div class="bottom"></div>
  5. </div>
  6. <p>
  7. Tresc strony<br />
  8. Tresc strony<br />
  9. Tresc strony<br />
  10. Tresc strony<br />
  11. Tresc strony<br />
  12. Tresc strony<br />
  13. Tresc strony<br />
  14. Tresc strony<br />
  15. Tresc strony<br />
  16. Tresc strony<br />
  17. Tresc strony<br />
  18. Tresc strony<br />
  19. </p>
  20. </body>


A nie tak:

  1. <div class="background">
  2. <div class="top"></div>
  3. <div class="center"><p>
  4. Tresc strony<br />
  5. Tresc strony<br />
  6. Tresc strony<br />
  7. Tresc strony<br />
  8. Tresc strony<br />
  9. Tresc strony<br />
  10. Tresc strony<br />
  11. Tresc strony<br />
  12. Tresc strony<br />
  13. Tresc strony<br />
  14. Tresc strony<br />
  15. Tresc strony<br />
  16. </p></div>
  17. <div class="bottom"></div>
  18. </div>
  19.  
  20. </body>



W ten sposob powinno wszystko dzialac jak nalezy



Wynika to ze skomplikowanej struktury mojej strony. Chodzi o to, że nie na każdej podstronie wyświetla się takie samo tło. Tak więc niestety MUSI być tak jak napisałem sad.gif

@edit

Cytat(Crozin @ 27.07.2013, 15:27:59 ) *
Dlaczego nie skorzystasz po prostu z wielu teł ustawionych dla jednego elementu?

Ok, poradziłem sobie podanym przez Ciebie sposobem. Dziekuję.
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.