2017-03-03 60 views
19

Mam stronę startową, gdzie Hamburger jest dodawany, gdy ekran ma mniej niż 992 pikseli. Kod jak hamburger jest takBootstrap 4 Zmień kolor przełącznika hamburgerowego

<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ść, aby zmienić kolor przycisku hamburger?

+1

kod nie jest prowadzony jak w bootply –

Odpowiedz

43

The navbar-toggler-icon (hamburger) w Bootstrap 4 używa SVG background-image. Istnieją 2 "wersje" obrazu ikony togglera. Jeden na lekki pasku nawigacyjnym, a jeden dla ciemnej (odwrotny) paska nawigacyjnego ...

// this is a black icon with 50% opacity 
.navbar-light .navbar-toggler-icon { 
    background-image: url("data:image/svg+xml;.."); 
} 
// this is a white icon with 50% opacity 
.navbar-inverse .navbar-toggler-icon { 
    background-image: url("data:image/svg+xml;.."); 
} 

Więc jeśli chcesz zmienić kolor ten obraz do czegoś innego, można dostosować ikonę. Na przykład tutaj ustawiam wartość RGB na różową (255,102,203). Zwróć uwagę na wartość stroke='rgba(255,102,203, 0.5)' w danych SVG:

.custom-toggler .navbar-toggler-icon { 
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,102,203, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); 
} 

.custom-toggler.navbar-toggler { 
    border-color: rgb(255,102,203); 
} 

Demohttp://www.codeply.com/go/4FdZGlPMNV

OFC, innej opcji po prostu użyć ikony z innej biblioteki IE: Czcionka niesamowite, etc ..


Aktualizacja Bootstrap 4.0.0:

Jako Bootstrap 4 Beta, navbar-inverse jest teraz navbar-dark, aby używać go w przypadku navbarów z ciemniejszymi kolorami tła, aby uzyskać jaśniejsze kolory łącznika i przełącznika.

+2

Jesteś life saver człowieka :) Dzięki! – Rehan

+1

W Bootstrap 4 beta 1 nie ma klasy '.navbar-inverse'. możesz wybrać jedną z dwóch klas: '.navbar-light' lub' .navbar-dark'. – Qrzysio

1

Jeśli pracujesz z Sass wersji bootstrap w _variables.scss można znaleźć $navbar-inverse-toggler-bg lub $navbar-light-toggler-bg którym można zmienić kolor i styl przycisku przełączania.

w html trzeba użyć navbar-inverse lub navbar-light zależności od wersji chcesz użyć.

+0

nie działa w bootstrapie 4 w odniesieniu do paska nawigacyjnego – botbot

5

Jeśli chcę, aby czcionka Awesome zastępowała ikonę Bootstrap v4.0 .navbar-toggler-icon, po prostu wstawiłbym kod ikon w elementach? W ten sposób:

<span class="navbar-toggler-icon"><i class="fa fa-bars" aria-hidden="true"></i></span> 

lub samo w sobie?

<button ...><i class="fa fa-bars" aria-hidden="true"></i></button> 
+0

W przypadku font-Awesome wystarczy użyć tego elementu bez żadnych innych zajęć. Jeśli spróbujesz dodać dodatkową klasę, spowodujesz pęknięcie czcionki. Więc oba przykłady, które podałeś, powinny działać poprawnie - ponieważ '' lub '' jest otoczony przez inne elementy. – Samuel

+1

Dziękujemy! Zrozumiałem to kilka godzin po opublikowaniu tego pytania. A potem musiałem dowiedzieć się, jak zmienić kolor, dodając mój .navbar-toggler do innych elementów, z których zrobiłem mój .bg-custom, który nadawał światło lub odwrotność. –

0

Prace nad [email protected] także

Spróbuj tak, jego pracy 100% Spróbuj zmienić skok = 'RGBA (184, 153, 129, 0 .5)” i iść pierwszy bootstrap.min.css

Znajdź CSS .navbar-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(184, 153, 129, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") }

okazję do zmiany stroke='rgba(184, 153, 129, 0.5)'