Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] Pusty div na "całą" wysokosc strony...
Forum PHP.pl > Forum > Przedszkole
zaaap
...właściwie to na pół.
Mam zawartosc strony, ale siega mi ona jedynie do polowy (wysokosci), a pozostała czesc czyli od polowy w dół chce zagospodarowac divem o okreslonym tle (powtarzajacy sie obrazek). Jednak zbytnio nie moge dotrzec do metody wykoniania tego, gdys puste divy niezbyt chetnie sie rozciagaja, a nie moge tez nic na sztywno zrobic, gdyz na jednej stronie bedzie to div na pol strony na innej na 1/4 lub na 1/10 a na innej nie bedzie wcale potrzeby. Szukam rozwiazania, które by to automatycznie załatwiało, czyli rozciagalo takie diva na wysokosc. Moze ktos poradzic?
sowiq
Żeby wysokość/szerokość jakiegoś elementu ustawić w %, to element nadrzędny musi mieć ustaloną wysokość/szerokość. Czyli jak masz:
  1. <body>
  2. <div>

to musisz dać:
  1. html, body, div{ height: 100%; }

Elementem nadrzędnym dla <html> jest okno przeglądarki, więc możesz mu ustawić height na 100% i zadziała prawidłowo.

To tak w skrócie winksmiley.jpg
zaaap
To co zaproponowałes wprowadziło sajgon totalny na mojej stronie smile.gif

zrobilem tak, body, html na 100% height. div.stopka (ostatni) tez na 100% i teraz moja strona ma zawsze wysokosc 200%. W tym 100% jest tym ostatni divem, który mial byc tylko do konca strony, nie zmuszajac do przewijania w dol.
erix
Cytat
Szukam rozwiazania, które by to automatycznie załatwiało, czyli rozciagalo takie diva na wysokosc. Moze ktos poradzic?

Z tego, co pamiętam, to jedno z zaleceń przy projektowaniu stron mówi, aby nie polegać na wysokości okna przeglądarki.

Cytat
Jednak zbytnio nie moge dotrzec do metody wykoniania tego, gdys puste divy niezbyt chetnie sie rozciagaja, a nie moge tez nic na sztywno zrobic, gdyz na jednej stronie bedzie to div na pol strony na innej na 1/4 lub na 1/10 a na innej nie bedzie wcale potrzeby.

A nie prościej objąć całość strony w kontener i dla niego nadać tło obrazka, a powtarzający się przyporządkować dla body?
sowiq
Czyli nie doczytałem? smile.gif

W takiej sytuacji masz dwa wyjścia. JavaScript, albo tabelka (zrobiona z div'ów). 2 wiersze. Cała tabelka wysokość 100%, a dolny wiersz np. 50px. Wtedy górny się dopasuje wysokością.

To też w skrócie smile.gif
zaaap
@erix: tzn. nie chce pakować tego w jeszcze jeden div kontenerowy jako, ze juz zastosowalem 2,5 kontenera (1 - naglowek, 2- tresc, "0,5" - stopka), z którego kazdy ma osobne obrazki jako tło. Co do polegania na wyskosci, to jakos to musze zrobic najlepiej procentowo, albo...
@sowiq: tabelki, a fuj, to nie semantyczne! tongue.gif I własnie tutaj jest te albo, albo JS. Tylko, ze z JS to mniej wiecej kumam sie tyle, co na zwyczajach mrówek meksykanskich.
erix
Cytat
@erix: tzn. nie chce pakować tego w jeszcze jeden div kontenerowy jako, ze juz zastosowalem 2,5 kontenera (1 - naglowek, 2- tresc, "0,5" - stopka), z którego kazdy ma osobne obrazki jako tło.

Przykro mi, w takim razie będziesz musiał się użerać z różnymi implementacjami w przeglądarkach. tongue.gif

Ostatecznie, widziałbym to w taki sposób, że dla pierwszej warstwy od góry, w kodzie, dajesz pseudoklasę :before i ustawiasz ją z position: absolute, a warstwę, do której "należy", position: relative i odpowiednio z-index manipulować.

Nie obejdzie się bez expression dla IE. winksmiley.jpg
zaaap
@erix: poszedłem Twoim tokiem rozumowania. Wsadziłem srodkowy div w jeszcze jeden wielki kontener. Dla body dalem na tlo ten obrazek, a dla tego kontenera kolor tla, ktory wczesniej miało body. Niby jeden div wiecej, no ale działa chociaz ;]
decha-design
a position: fixed? snitch.gif

Bo jak dobrze wczytałem, to powinno pomóc...
erix
Ale i tak musisz coś zrobić, aby dać inny z-index dla pozostałych warstw. winksmiley.jpg

Summa summarum, dajesz i tak nowego <div/>.
xSlash
Musisz dac div{ display:block; }
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.