Zazwyczaj znam technikę opróżniania stopki za pomocą css.
Ale mam problem z uzyskaniem takiego podejścia do bootstrapu na Twitterze, najprawdopodobniej z powodu tego, że bootstrap z Twittera ma charakter responsywny. Korzystanie z bootstrapu na Twitterze Nie jestem w stanie uzyskać stopki, aby zejść na dół strony, stosując podejście opisane w powyższym wpisie na blogu.
css
twitter-bootstrap
footer
Calvin Cheng
źródło
źródło
Odpowiedzi:
Znaleziono fragmenty tutaj działa naprawdę dobrze dla bootstrap
HTML:
CSS:
źródło
Jest to teraz dołączone do Bootstrap 2.2.1.
Bootstrap 3.x
Użyj komponentu navbar i dodaj
.navbar-fixed-bottom
klasę:Bootstrap 4.x
Nie zapomnij dodać
body { padding-bottom: 70px; }
lub w inny sposób zawartość strony może być objęta.Dokumenty: http://getbootstrap.com/components/#navbar-fixed-bottom
źródło
navbar-static-bottom
.Działający przykład dla bootstrapu na Twitterze NIE KLEJĄ STOPY
Wersja, która zawsze aktualizuje się w przypadku, gdy użytkownik otworzy okno devtools lub zmieni rozmiar okna.
Potrzebujesz przynajmniej elementu z
#footer
Jeśli nie chcesz paska przewijania, jeśli treść zmieści się na ekranie, po prostu zmień wartość z 10 na 0.
Pasek przewijania pojawi się, jeśli zawartość nie pasuje do ekranu.
źródło
$('#footer').height();
z$('#footer').outerHeight();
$(window).resize(function() {//main code goes here});
i wywołaj,$(window).resize();
aby ustawić go podczas ładowania strony.Oto jak to zaimplementować z oficjalnej strony:
http://getbootstrap.com/2.3.2/examples/sticky-footer.html
Właśnie go przetestowałem i DZIAŁA WIELKO! :)
HTML
Odpowiedni kod CSS jest następujący:
źródło
W przypadku Sticky Footer używamy dwóch
DIV's
w HTML dla podstawowego efektu lepkiej stopki . Napisz w ten sposób:HTML
CSS
źródło
Znacznie prostszy oficjalny przykład: http://getbootstrap.com/examples/sticky-footer-navbar/
źródło
Znalazłem mieszankę
navbar-inner
inavbar-fixed-bottom
Wydaje się dobry i działa dla mnie
Zobacz przykład w Fiddle
źródło
W najnowszej wersji bootstrap 4.3 można to zrobić za pomocą
.fixed-bottom
klasy.Oto jak używam go ze stopką:
Możesz znaleźć więcej informacji w dokumentacji pozycji tutaj .
źródło
Odpowiedź HenryW jest dobra, choć potrzebowałem kilku poprawek, aby działało tak, jak chciałem. W szczególności następujące uchwyty:
Oto, co zadziałało dla mnie z tymi poprawkami:
HTML:
CSS:
JavaScript:
źródło
To działało dla mnie idealnie.
Dodaj tę klasę navbar-fixed-bottom do stopki.
Użyłem tego w ten sposób:
I ustawia się na dole na całej szerokości.
Edycja: Ustawi stopkę na zawsze widoczną, jest to coś, co należy wziąć pod uwagę.
źródło
Musisz owinąć
.container-fluid
div, aby lepka stopka działała, brakuje ci również niektórych właściwości w swojej.wrapper
klasie. Spróbuj tego:Usuń
padding-top:70px
zbody
tagu i umieść go w swoim.container-fluid
, w ten sposób:Musimy to zrobić, ponieważ przesuwanie w
body
dół w celu dostosowania paska nawigacyjnego kończy się przesunięciem stopki nieco dalej (70 pikseli dalej) poza obszar wyświetlania, więc otrzymujemy pasek przewijania. Osiągamy lepsze wyniki pchając.container-fluid
Zamiast tego div.Następnie musimy usunąć
.wrapper
klasę poza twoją.container-fluid
div i owinąć ją#main
div, tak jak to:Twoja stopka oczywiście musi znajdować się poza
.wrapper
div, więc usuń ją z `.wrapper div i umieść na zewnątrz, w ten sposób:Po tym wszystkim zrobisz, właściwie popchnij stopkę bliżej
.wrapper
klasy, używając ujemnego marginesu:I to powinno działać, chociaż prawdopodobnie będziesz musiał zmodyfikować kilka innych rzeczy, aby działało, gdy rozmiar ekranu zostanie zmieniony, np. Zresetowanie wysokości w
.wrapper
klasie, tak jak:źródło
Jest to właściwy sposób, aby to zrobić za pomocą Twittera Bootstrap i nowej klasy navbar-fixed-bottom: (nie masz pojęcia, ile czasu spędziłem na szukaniu tego)
CSS:
HTML:
źródło
Skorzystaj z narzędzi elastycznych wbudowanych w Bootstrap 4! Oto, co wymyśliłem, używając głównie narzędzi Bootstrap 4.
.d-flex
uczynić główny div elastycznym kontenerem.flex-column
na głównym div, aby ułożyć elementy Flex w kolumniemin-height: 100vh
do głównego div, z atrybutem stylu lub w CSS, aby wypełnić okno pionowo.flex-grow-1
w kontenerze element, który ma mieć główny kontener zawartości, zajmuje całą przestrzeń pozostałą na wysokości rzutni.źródło
min-height: 100vh
tejmin-vh-100
klasy z Bootstrap mogą być użyte.Użyj komponentu navbar i dodaj klasę .navbar-fixed-bottom:
dodaj ciało
źródło
do obsługi układów wiązań szerokości użyj następujących elementów, aby nie zaokrąglać narożników i aby pasek nawigacyjny znajdował się równo z bokami aplikacji
następnie możesz użyć css, aby przesłonić klasy bootstrap, aby dostosować wysokość, czcionkę i kolor
źródło
Do obsługi tego możesz użyć jQuery:
źródło
Jedyny, który pracował dla mnie !:
źródło
Najprostszą techniką jest prawdopodobnie użycie Bootstrap
navbar-static-bottom
w połączeniu z ustawieniem głównego div kontenera za pomocąheight: 100vh
(nowy procent portów widoku CSS3 ). Spowoduje to spuszczenie stopki na dół.źródło
Testowane z
Bootstrap 3.6.6
.HTML
CSS
źródło
Wysokość stopki odpowiada rozmiarowi dolnego wcięcia elementu zawijanego.
źródło
Oto rozwiązanie dla najnowszej wersji Bootstrap (4.3 w momencie pisania) za pomocą Flexboksa.
HTML:
CSS:
I przykład codepen: https://codepen.io/tillytoby/pen/QPdomR
źródło
Na przykład Bootstrap 4.3 , jeśli na przykład tracisz zdrowie psychiczne, tak to działa:
height: 100%
(h-100
klasa)display: flex
(d-flex
klasa)margin-top: auto
(mt-auto
klasa)Problem polega na tym, że we współczesnych frameworkach często mamy dodatkowe owijki wokół tych elementów.
Na przykład w moim przypadku za pomocą Angulara skomponowałem widok z oddzielnego katalogu głównego aplikacji, głównego komponentu aplikacji i komponentu stopki - z których wszystkie dodały swój niestandardowy element do DOM.
Aby to zadziałało, musiałem dodać klasy do tych elementów opakowania: dodatkowe
h-100
, przesunięcie od-flex
jeden poziom w dół i przesunięcie omt-auto
jeden poziom w górę od stopki (więc tak naprawdę nie jest już w klasie stopki, ale według mojego<app-footer>
zwyczaju element).źródło
class="h-100"
do<html>
tagu też.Użyj tego fragmentu kodu w bootstrapie, to działa
źródło
Rozwiązanie Bootstrap v4 +
Oto rozwiązanie, które nie wymaga ponownego przemyślenia struktury HTML ani żadnych dodatkowych sztuczek CSS obejmujących wypełnianie:
Pamiętaj, że to rozwiązanie pozwala na stosowanie stopek o elastycznych wysokościach, co jest szczególnie przydatne przy projektowaniu stron dla wielu rozmiarów ekranu z zawijaniem zawartości po zmniejszeniu.
Dlaczego to działa
style="height:100%;"
sprawia, że<html>
znacznik zajmuje całą przestrzeń dokumentu.d-flex
zestawy klasdisplay:flex
do naszego<body>
tagu.flex-column
zestawy klasflex-direction:column
do naszego<body>
tagu. Jego dzieci (<header>
,<main>
,<footer>
i każdy inny bezpośredni dziecko) są teraz ustawione pionowo.h-100
zestawy klasheight:100%
do naszych<body>
znacznika, co oznacza, że obejmie cały ekran pionowo.flex-grow-1
ustawiaflex-grow:1
nasz<main>
, skutecznie instruując go, aby wypełnił pozostałą przestrzeń pionową, a tym samym osiąga 100% wysokości pionowej, którą ustawiliśmy wcześniej na naszym<body>
tagu.Działające demo tutaj: https://codepen.io/maxencemaire/pen/VwvyRQB
Więcej informacji na temat Flexbox można znaleźć na stronie https://css-tricks.com/snippets/css/a-guide-to-flexbox/ .
źródło
h-100
klasa nie działa poprawnie, lepiej jest użyćmin-vh-100
.h-100
klasa zawsze zależy od wysokości elementów nadrzędnych i może nie działać poprawnie w niektórych przypadkach. Ponieważ chcemy, aby stopka znajdowała się u dołu rzutni, dobrą praktyką byłoby użycie wysokości rzutni.min-width
. Właśnie dlategoHTML
tag maheight
100% w kodzie. Przykład działa i nie rozumiem, dlaczego nie zapewniłby obsługiheight
właściwości CSS przez przeglądarkę , co ostatecznie przekłada się na fragment kodu bootstrap.HTML
tagu. W moim przypadku twoje rozwiązanie nie działało, ponieważ nie wolę używać stylu wHTML
tagu. I nie chcę, żebybody
znacznik zależał od innego rodzica, ale od rzutni. Nie musisz stawiaćstyle="height:100%;"
ih-100
jednocześnie. Wkładaniemin-vh-100
ciała po prostu wykonuje pracę i zmniejsza kod.Wygląda na
height:100%
to, że łamany jest „łańcuch”div#main
. Spróbuj go dodaćheight:100%
, a to może przybliżyć cię do celu.źródło
Tutaj znajdziesz podejście w HAML ( http://haml.info ) z paskiem nawigacyjnym u góry i stopką u dołu strony:
źródło
Nie komplikuj.
Konieczne może być także przesunięcie wysokości stopki poprzez dodanie
margin-bottom
odpowiednika wysokości stopki dobody
.źródło
Oto przykład z użyciem css3:
CSS:
HTML:
skrzypce
źródło
Oto jak to robi bootstrap:
http://getbootstrap.com/2.3.2/examples/sticky-footer.html
Wystarczy użyć źródła strony i powinieneś zobaczyć. Nie zapomnij
<div id="wrap">
o szczycie.źródło
inne możliwe rozwiązanie, po prostu używając zapytań o media
źródło