Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[CSS] Rozciąganie warstw
#1
Witam,
Niestety mimo wielu prób i przeczytania dziesiątek artykułów w sieci nie udało mi się uzyskać pożądanego efektu przy tworzeniu prostego szablonu pod stronę www.
Nie jest to typowy szablon (choć nie jest też zapewne zbytnio wysublimowany), lecz sądzę, że mimo wszystko możliwe jest uzyskanie takiego efektu bez użycia dodatkowych wspomagaczy.
Do rzeczy...
Chciałbym uzyskać stronę o statycznej szerokości (dla mniejszych rozdzielczości ekranu niż ta szerokość liczę się z dodatkowym scrollem u dołu ekranu) oraz wysokości zmiennej w zależności od rozdzielczości użytkownika (ale nie mniejszej niż jakaś tam stała wartość).
W praktyce wyglądać winno to tak jak na obrazku:
[Obrazek: templatelr.jpg]
I teraz minimalna wysokość okienka użytkownika (tzn. przy mniejszej liczę się z pojawieniem się dodatkowego scrolla po prawej stronie ekranu) to suma wysokości pola zielonego, niebieskiego i błękitnego + miminalna wysokość pola czerwonego (też jakaś stała wartość).
I teraz gdy użytkownik ma wyższą rozdzielczość (czyt. wielkość okna przeglądarki), to w poziomie nic się nie zmienia, ale w pionie rozciąga się czerwony i żółty div.
Paski przewijania przy żółtym i czerwonym divie są w ramach overflow: auto, czyli pojawiać się winny tylko wtedy gdy są potrzebne.
Czy uzyskanie takiego efektu jest w ogóle możliwe?
A jeśli tak, to jak do tego doprowadzić.

Generalnie udało mi się to zrobić (przy użyciu pozycjonowania absolutnego) dla jednego diva rozciągającego się na całą szerokość stałą, jednak gdy chce ustawić dwa divy obok siebie (float: right) całość przestaje funkcjonować jak należy.

Z góry dziękuję za odpowiedź i pozdrawiam
ybamor
Odpowiedz
#2
Musiałbyś ustalać wymiary każdego elementu procentowo. Co do mniejszych rozdzielczości wcale nie musisz godzić się z suwakiem poziomym, możesz użyć skryptu (js), który sprawdzi rozdzielczość użytkownika i jeśli będzie mniejsza niż nnnn x nnn - załadować inny arkusz styli.
Odpowiedz
#3
ja bym pewnie zrobił tak:

calosc + body + html 100% height + min-height:....
gora i dol clear + jakis height

i teraz zaleznie od tego co chcesz osiagnac:
A) jezeli stopka i header maja byc przyklejone do krawedzi:

gora - position:absolute; top:0 itp
dol: position:absolute; bottom:0;
srodek z divami : margin:wysokosc_gory auto auto wysokosc_dolu; height:100%; min-height:.....

niebieskie, czerwone w 1 div. zolty float right

B) jezeli dol i gora nie maja byc przyklejone
dol i gora dostaja clear;
srodkowy z divami dostaje min-height; clear:both i overflowa + position:relative dla lepszego ulozenia

Wink
Odpowiedz
#4
Dziękuję za szybką odpowiedź :-)
Jeszcze dzisiaj przetestuję i dam znać co mi z tego wyszło ;-)
Pozdrawiam
ybamor
Odpowiedz
#5
Udało się wszystko dokładnie tak jak chciałem, dzięki za pomoc.
Ostatecznie skorzystałem z pozycjonowania absolutnego do niemal wszystkich elementów i dodatkowo atrybutu min-height ;-)
Raz jeszcze dziękuję za pomoc i pozdrawiam
ybamor
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Rozciaganie diva z treścią strony zatachi 5 4,072 17-05-2012, 03:00
Ostatni post: Moody
  [CSS] Rozciąganie tekstu. Damian19 13 9,197 18-01-2012, 01:07
Ostatni post: Kartofelek
  [CSS] Automatyczne rozciąganie sekcji xiado 1 1,975 14-01-2012, 02:10
Ostatni post: Pedro84
  Rozciąganie się strony cycu11 1 1,698 10-06-2011, 01:32
Ostatni post: hieroshima
  [css][html] Rozciąganie i przesuwanie div'ów względem siebie zeppelin 1 3,391 09-11-2010, 14:13
Ostatni post: ixtab

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl