Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS]Stopka zawsze na dole
Niedowiarek
post 5.01.2012, 15:44:10
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 28.04.2011

Ostrzeżenie: (0%)
-----


Witam, mam taki problem otóż nie wiem w jaki sposób mogę uzyskać taki efekt, że stopka bez względu na treść powyżej niej, jest zawsze na dole. Aktualnie, gdy cała treść strony się mieści na ekranie (nie ma suwaka) stopka idzie do góry. Tu przykład: http://workdomain.ugu.pl/showteam.php
Go to the top of the page
+Quote Post
mortus
post 5.01.2012, 16:49:57
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Google: sticky footer
Go to the top of the page
+Quote Post
qazwsx1
post 5.01.2012, 17:16:21
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 30.10.2011

Ostrzeżenie: (0%)
-----


  1. css
  2.  
  3. #footer {
  4. position: absolute;
  5. bottom: 0;
  6. }
Go to the top of the page
+Quote Post
Niedowiarek
post 5.01.2012, 17:22:21
Post #4





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 28.04.2011

Ostrzeżenie: (0%)
-----


Po dodaniu position: absolute do CSS stopka jakby się zmniesza(chudsza) i wędruje do góry. Nie dałoby się jakoś inaczej? Przy sticky footer to w ogóle już cała strone się rozjeżdża.
Go to the top of the page
+Quote Post
toffiak
post 5.01.2012, 17:26:49
Post #5





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

Ostrzeżenie: (0%)
-----


position: fixed;
bottom: 0;

Musisz tylko ustawić kontener z treścią aby był wyśrodkowany


--------------------
Go to the top of the page
+Quote Post
ublizzard
post 5.01.2012, 17:31:45
Post #6





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 17.12.2011
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. html, body {height: 100%;}
  2.  
  3. #wrap {min-height: 100%;}
  4.  
  5.  
  6. #footer {position: relative;
  7. height: 150px;
  8. clear:both;}
  9. }


Wydaje mi się że topowinno zadziałać, ale pozostała treść , czyli #wrap powinna mieć min-height 100%


--------------------
Darmowy katalog ->http://katalogus.cba.pl
Go to the top of the page
+Quote Post
Niedowiarek
post 5.01.2012, 17:47:10
Post #7





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 28.04.2011

Ostrzeżenie: (0%)
-----


Niestety nie działa ;/
Go to the top of the page
+Quote Post
ublizzard
post 5.01.2012, 17:54:09
Post #8





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 17.12.2011
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Zawsze jest problem ze stopką, bo nie wiadomo w jakiej rozdzielczości i jakiej wielkości jest ekran monitora.
ale sprawdź sobie jeszcze to:
http://www.cssstickyfooter.com/


--------------------
Darmowy katalog ->http://katalogus.cba.pl
Go to the top of the page
+Quote Post
qazwsx1
post 5.01.2012, 18:00:29
Post #9





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 30.10.2011

Ostrzeżenie: (0%)
-----


  1. #footer {
  2. background: url(images/twilight/footer.png) repeat-x;
  3. padding-top: 13px;
  4. border-radius: 10px 10px 0px 0px;
  5. margin-top: 10px;
  6. width: 100%;
  7. bottom: 0;
  8. position: absolute;
  9. padding-bottom: 13px;
  10. }


jest na 100% ale nie ma odstępu od lewej strony dla tekstu

dodaj jeszcze 1 div tam gdzie masz tekst i zrób mu "padding-left:13px;
Go to the top of the page
+Quote Post
mortus
post 5.01.2012, 18:10:18
Post #10





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Panowie, ale to jest tylko jedna z wielu stron i zapominacie, że będą również strony, które zawierają więcej treści. Wtedy proponowane przez was rozwiązania, jak pozycjonowanie absolutne, czy ustawione (fixed) nie zdadzą egzaminu. Pierwsze spowoduje, że strona będzie się "rozjeżdżać", a drugie w ogóle służy do czegoś innego. Sticky footer to bardzo dobre rozwiązanie, ale wymaga przeprogramowania strony. Poza sticky footer nie ma dobrego rozwiązania dla problemu @Niedowiarka, choć pewną alternatywą może być JavaScript i obliczanie wszystkich niezbędnych wartości (wysokości bloków, pozycja w osi y).
Go to the top of the page
+Quote Post
mbak
post 18.02.2015, 16:32:03
Post #11





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.07.2014

Ostrzeżenie: (0%)
-----


Witam, odgrzewam kotleta, ale dlatego, że
znalazłem nowy sposób, na stopkę zawsze u dołu strony, niezależnie od ilości treści.
Jeśli treści będzie mało to "content" strony będzie rozciągnięty, jeśli dużo to stopka będzie normalnie, zawsze pod contentem, na końcu strony.
Otóż do dzieła:
Stopka musi być jako osobny kontener - np div.
Reszta strony albo w jednym kontenerze, albo w dwóch (nagłówek i treść), ja zakładam wersję z nagłówkiem.
Stopka oraz nagłówek na stronie zawsze mają raczej tę samą wysokość i to jest też wymagane.
Dlatego dobrze jest na sztywno ustawić wysokość tych elementów atrybutem "height". nie jest to konieczne, ale da pewność że nie popsuje to efektu końcowego.
Potem wykorzystujemy sztuczkę która jest piękna sama w sobie:
Ustawiamy wysokość min-height dla contentu strony wykorzystując funkcje calc() w CSS3 wg wzoru:
100% - wysokośćNaglowka(w px) - wysokośćStopki(w px) tak jak poniżej:

min-height: calc(100% - 150px - 149px);

i gotowe!
Rozwiązanie ma tę zaletę że nie trzeba tworzyć 10 divów i ustawiać kilkanaście atrybutów css i pilnować marginesów.
Po prostu ustawiamy minimalną wysokość contentu na cały obszar okna minus wysokość stopki i nagłówka, które są prawie zawsze stałe.
Jeśli coś jest nie tak, bo mamy poustawiane jakieś marginesy kosmiczne itp. po prostu modyfikujemy działanie dodając lub odejmując wartość marginesów.

Przykładowy kod HTML i CSS:

HTML:
  1. <div class="naglowek">
  2. // tutaj treść naglowka, jakieś logo itp...
  3. // w css ustawiamy wysokosc height elementu na sztywno
  4. </div>
  5.  
  6. <div class="content">
  7. //tresc strony
  8. </div>
  9.  
  10. <div class="stopka">
  11. // tutaj treść stopki...
  12. // w css ustawiamy wysokosc height elementu na sztywno
  13. </div>


CSS:
  1. .naglowek {
  2. height: 150px;
  3. }
  4.  
  5. .stopka {
  6. height: 100px;
  7. }
  8.  
  9. .content {
  10. min-height: calc(100% - 150px - 100px);
  11. }



Zapomniałem o jednym!!!
Żeby nie było tak różowo musimy jeszcze ustawić wysokość 100% dla strony:

  1. html, body {
  2. height: 100%;
  3. }


Ten post edytował mbak 18.02.2015, 16:53:25
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 2.05.2025 - 05:38