tutoriale
Tematem jakim zajmę się dzisiaj będzie tzw. Hamburgerowe menu. Jest to menu składające się 3 leżących, równoległych do siebie kresek, przeważnie w ciemnym kolorze.
Obecnie tzw. Hamburgerowe menu stanowi najpopularniejsze rozwiązanie stosowane na responsywnych stronach internetowych. Spotykane jest głównie na urządzeniach mobilnych. W celu ukrycia dużego nie wygodnego menu dostępnego na desktopie.
Na niektórych stronach ikonka ta nie stanowi tylko formy chowanego menu, ale także formę dekoracji. I to właśnie zrobię dzisiaj.
Tą charakterystyczną ikonkę (3 linie stąd też porównanie do hamburgera) można wybrać z gotowego zbioru, ale również utworzyć samemu. Co zaprezentuje poniżej wraz z animacją polegającą na zamianie jej w literę „X”. Animacja będzie startować po kliknięciu w symbol rozwijanego menu – czyli za każdym razem gdy ktoś będzie chciał rozwinąć menu.
Na początek zaczniemy od samego kodu HTML, który dzięki odpowiedniej oscylacji w CSS zamieni się w nabierze pożądanego przez nas kształtu.
<div class="container">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
</div> W tej chwili nasza ikonka jest przezroczysta i w żaden sposób nie przypomina tego co jest nam potrzebne. W celu dodania koloru i kształtu przyda się poniższy kod CSS:
.container {
display: inline-block;
cursor: pointer;
}
.bar1, .bar2, .bar3 {
width: 35px;
height: 5px;
background-color: #333;
margin: 6px 0;
transition: 0.4s;
} Teraz dopiero ikonka będzie wyglądała tak jak menu widywane w telefonach:
Jak widać w efekcie końcowym składa się ona z trzech linii – przypominających hamburgera. Teraz więc przechodzimy do następnego kroku.
W celu uruchomienia animacji / zamiany w literę X po kliknięciu musimy dodać odpowiednią funkcję w JavaScript. Dlatego teraz będziemy modyfikować linię:
<div class="container" > Po wprowadzaniu zmiany kod prezentuje się następująco:
<div class="container" > To na początek nam wystarczy. Jednak nadal musimy utworzyć sam mechanizm oraz zmieniony wygląd ikonki.
Zaczniemy więc od utworzenia wyglądu samej litery „X” z pomocą CSS
.change .bar1 {
-webkit-transform: rotate(-45deg) translate(-9px, 6px) ;
transform: rotate(-45deg) translate(-9px, 6px) ;
}
.change .bar2 {opacity: 0;}
.change .bar3 {
-webkit-transform: rotate(45deg) translate(-8px, -8px) ;
transform: rotate(45deg) translate(-8px, -8px) ;
} Do w pełni działającej zamiany brakuje nam jeszcze skryptu, który będzie wszystko uruchamiał
<script>
function myFunction(x) {
x.classList.toggle("change");
}
</script> A tak prezentuje się gotowy kod w codepen
Przykłady wykorzystania kodu:
Powyższy kod wykołatałam do stworzenia prostego chowającego się panelu.
Źródło:
http://www.w3schools.com/howto/howto_css_menu_icon.asp
Jak w przypadku wielu różnych tematów tak i w przypadku marki osobistej pojawiło się przez…
Choć zabrzmi to może nieco dziwnie to wprowadzenie AI (sztucznej inteligencji) do naszego życia było…
Widmo Brockenu to dość rzadko spotykane zjawisko optyczne, najczęściej widywane w wysokich partiach gór. Można…
Zacznę może od tego, że relikwia, relikwii nie równa. Wiem jeśli nie ma się pojęcia…
Logo stanowi jeden z ważniejszych elementów tożsamości wizualnej praktycznie każdej firmy, marki czy projektu. Logo…
Budując własną markę osobistą lub chcąc ją zbudować trzeba liczyć się z wieloma wyzwaniami. Jednym…