Mam witrynę typu bootstrap, w której przełącznik hamburgera jest dodawany, gdy rozmiar ekranu jest mniejszy niż 992px. Kod wygląda tak:
<button class="navbar-toggler navbar-toggler-right"
type="button" data-toggle="collapse"
data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
Czy istnieje możliwość zmiany koloru przycisku przełącznika hamburgera?
Odpowiedzi:
navbar-toggler-icon
(Hamburger) w Bootstrap 4 wykorzystuje SVGbackground-image
. Istnieją dwie „wersje” obrazu ikony przełącznika. Jeden dla jasnego paska nawigacyjnego i jeden dla ciemnego paska nawigacyjnego ...navbar-dark
do przełączania jasnych / białych na ciemniejsze tłanavbar-light
dla ciemnego / szarego przełącznika na jaśniejszym tleDlatego jeśli chcesz zmienić kolor obrazu przełącznika na inny, możesz dostosować ikonę. Na przykład tutaj ustawiam wartość RGB na różowy (255,102,203). Zwróć uwagę na
stroke='rgba(255,102,203, 0.5)'
wartość w danych SVG:Demo http://www.codeply.com/go/4FdZGlPMNV
OFC, kolejna opcja, aby po prostu użyć ikony z innej biblioteki, np .: Font Awesome itp.
Zaktualizuj Bootstrap 4.0.0:
Począwszy od wersji Beta Bootstrap 4,
navbar-inverse
można go teraznavbar-dark
używać na paskach nawigacyjnych z ciemniejszymi kolorami tła, aby uzyskać jaśniejsze łącza i przełączane kolory.Jak zmienić kolory paska nawigacyjnego w Bootstrap 4
źródło
.navbar-inverse
klasy. możesz wybrać jedną z dwóch klas:.navbar-light
lub.navbar-dark
.Użyj niesamowitej ikony czcionki jako domyślnej ikony paska nawigacyjnego.
Lub spróbuj tego na starych wersjach niesamowitych czcionek:
źródło
Przycisk toggler można stworzyć z css tylko w bardzo prosty sposób, nie ma potrzeby używania żadnych czcionek w SVG czy ... foramt.
Twój przycisk:
Twój styl przycisku:
}
Twój styl linii poziomej:
}
Próbny
źródło
wystarczy wstawić klasę
navbar-dark
lubnavbar-light
element nav:źródło
Najłatwiej jest zastąpić ten domyślny kod bootstrap:
przez to :
I nie zapomnij dodać tego kodu również do swojego pliku:
Mam nadzieję, że to pomoże!!
źródło
Jeśli pobrałeś bootstrap, przejdź do bootstrap-4.4.1-dist / css / bootstrap.min
ja. znajdź selektor
.navbar-light .navbar-toggler-icon
lub.navbar-dark .navbar-toggler-icon
ii. wybierz atrybut obraz tła i jego wartość. Fragment wygląda następująco:
iii. skopiuj fragment i wklej go w swoim niestandardowym arkuszu CSS
iv. zmień
stroke=’rgba(0,0,0,0.5)’
wartość na preferowaną wartość rgbaźródło
EDYCJA: mój błąd! Po mojej odpowiedzi ikona nie będzie zachowywać się jak przełącznik W rzeczywistości będzie wyświetlana nawet wtedy, gdy nie jest zwinięta ... Wciąż szukam ...
To zadziała:
Sztuczka zaproponowana przez moją odpowiedź polega na zastąpieniu
navbar-toggler
klasycznej klasy przycisku,btn
a następnie, jak już wspomniano , użyj czcionki ikon.Zwróć uwagę, że jeśli go zatrzymasz
<button class="navbar-toggler">
, przycisk będzie miał „dziwny” kształt.Jak wspomniano w tym poście na githubie , bootstrap używa pewnych "sztuczek css", więc użytkownicy nie muszą polegać na czcionkach.
Więc po prostu nie używaj
"navbar-toggler"
klasy na swoim przycisku, jeśli chcesz użyć czcionki ikony.Twoje zdrowie.
źródło
Właśnie opracowałem znacznie łatwiejsze rozwiązanie. (Tak, wiem, że to stare pytanie, ale ktoś badający ten sam problem może uznać je za przydatne).
Używałem pliku SVG o nazwie hamburger.svg. Spojrzałem na to za pomocą edytora tekstu i nie mogłem znaleźć niczego, co ustawiałoby kolor dla trzech linii - domyślam się, że domyślnie jest to czarny, ponieważ z pewnością jest to zachowanie, które otrzymuję - więc po prostu dodałem parametr „obrys” do definicja SVG. To nie DOKŁADNIE zadziałało - granice trzech linii miały wybrany przeze mnie kolor (biały), ale reszta linii była nadal czarna, więc dodałem również parametr „wypełnienie”. I to załatwiło sprawę!
Oto kod oryginalnego pliku hamburger.svg w całości:
A oto kod nowego pliku SVG po jego edycji i zapisaniu jako hamburger_white.svg:
Jak widać, po przewinięciu w prawo, dodałem tylko:
na sam koniec ścieżki. Inną rzeczą, którą musiałem zrobić, była zmiana nazwy pliku hamburgera w HTML. Żadnego bałaganu z CSS i nie ma potrzeby szukania kolejnej ikony.
Spokojnie! Możesz to naśladować, aby zrobić hamburgera w dowolnym kolorze.
źródło
Jeśli pracujesz z wersją bootstrap sass
_variables.scss
, możesz znaleźć$navbar-inverse-toggler-bg
lub$navbar-light-toggler-bg
zmienić kolor i styl przycisku przełączania.W html musisz użyć
navbar-inverse
lub wnavbar-light
zależności od wersji, której chcesz użyć.źródło
Alternatywnie zawsze możesz wypróbować prostsze obejście, używając innej ikony, na przykład:
ref: https://www.w3schools.com/icons/fontawesome_icons_webapp.asp
ref: https://www.w3schools.com/icons/bootstrap_icons_glyphicons.asp
Dzięki temu zyskujesz całkowitą kontrolę nad ich kolorem i rozmiarem:
( zastosowany styl przycisku służy tylko do szybkiego testu ):
źródło
Domyślna ikona paska nawigacyjnego programu startowego
<span class="navbar-toggler-icon"></span>
Dodaj ikonę Font Awesome i usuń
class="navbar-toggler-icon"
<span> <i class="fas fa-bars" style="color:#fff; font-size:28px;"></i> </span>
źródło
Sprawdź najlepsze rozwiązanie dla niestandardowej nawigacji do hamburgerów.
obraz demonstracyjny
źródło