Główna » Kodowanie » Samouczek CSS3 Utwórz elegancki przycisk włączania / wyłączania

    Samouczek CSS3 Utwórz elegancki przycisk włączania / wyłączania

    Ten artykuł jest częścią naszego „Seria samouczków HTML5 / CSS3” - dedykowane, aby pomóc Ci stać się lepszym projektantem i / lub deweloperem. Kliknij tutaj aby zobaczyć więcej artykułów z tej samej serii.

    Używanie przycisku jest jak dotąd preferowanym sposobem interakcji z materiałami elektronicznymi; takie jak radio, telewizor, odtwarzacz muzyki, a nawet smartfon z funkcją poleceń głosowych nadal wymaga co najmniej jednego lub dwóch fizycznych przycisków.

    Ponadto w tej erze cyfrowej przycisk ewoluował również w formie cyfrowej, co czyni go bardziej interaktywnym, dynamicznym i prawdziwym łatwym do wykonania w porównaniu z fizycznym przyciskiem.

    Tym razem zamierzamy stworzyć gładki i interaktywny przycisk oparty na tym doskonałym projekcie w Dribbble, używając tylko CSS.

    Cóż, zacznijmy.

    HTML

    Zaczniemy od przycisku, umieszczając następujący znacznik na naszym dokumencie HTML. To naprawdę proste, przycisk będzie oparty na tagu kotwicy, mamy też przęsło obok niego, aby utworzyć światło wskaźnika, a następnie są one owinięte razem w HTML5 Sekcja etykietka.

     
    & # xF011;

    Oto jak wygląda nasz przycisk.

    Podstawowa stylizacja

    W tej sekcji zaczniemy pracować nad Style.

    Najpierw stosujemy to ciemne tło z Subtelnego Wzoru na dokumencie ciała i wyśrodkowujemy Sekcja. Następnie usuniemy również kropkowane zarys na :skupiać i :aktywny połączyć.

     body background: url ('images / micro_carbon.png');  sekcja margin: 150px auto 0; szerokość: 75px; wysokość: 95px; pozycja: względna; wyrównywanie tekstu: środek; : active,: focus outline: 0;  

    Używanie niestandardowej czcionki

    Dla ikony przycisku użyjemy niestandardowej czcionki z Font Awesome, a nie obrazu. W ten sposób ikona będzie łatwo stylowa i skalowalna poprzez arkusz stylów.

    Pobierz czcionkę, zapisz pliki czcionek (eot, woff, ttf i svg) w pliku czcionki folder, a następnie umieść następujący kod w arkuszu stylów, aby zdefiniować nową rodzinę czcionek.

     @ font-face font-family: "FontAwesome"; src: url ("fonts / fontawesome-webfont.eot"); src: url (format „fonts / fontawesome-webfont.eot? #iefix”) („eot”), url („fonts / fontawesome-webfont.woff”) format („woff”), url („czcionki / fontawesome- webfont.ttf ”) format („ truetype ”), url („ fonts / fontawesome-webfont.svg # FontAwesome ”) w formacie („ svg ”); waga czcionki: normalna; styl czcionki: normalny;  

    The ikona mocy że potrzebujemy tego przycisku jest reprezentowany w numerze Unicode F011; jeśli przyjrzysz się uważnie znacznikowi HTML powyżej, umieściliśmy ten znak numeryczny & # xF011; wewnątrz znacznika zakotwiczenia, ale ponieważ nie zdefiniowaliśmy niestandardowego rodzina czcionek w stylu przycisku ikona nie jest jeszcze poprawnie renderowana.

    Dalsza lektura: Unicode i HTML: Znaki dokumentu

    Stylizacja przycisku

    Przede wszystkim musimy zdefiniować zwyczaj rodzina czcionek dla przycisku.

    Nasz przycisk będzie kółkiem, możemy uzyskać efekt koła za pomocą promień graniczny właściwość i ustaw wartość przynajmniej na połowę przycisku szerokość.

    Ponieważ używamy czcionki do ikony, możemy łatwo ustawić kolor i dodaj cień tekstu dla ikony w arkuszu stylów.

    Następnie utworzymy efekt fazowany dla przycisku. Ten efekt jest dość trudny. Po pierwsze, musimy złożyć wniosek background-color: rgb (83,87,93); dla bazy kolorów przycisku dodajemy do czterech warstw cienie skrzyniowe.

     a font-family: "FontAwesome"; kolor: rgb (37,37,37); tekst-cień: 0px 1px 1px rgba (250,250,250,0,1); rozmiar czcionki: 32pt; Blok wyświetlacza; pozycja: względna; dekoracja tekstowa: brak; background-color: rgb (83,87,93); box-shadow: 0px 3px 0px 0px rgb (34,34,34), / * 1. cień * / 0px 7px 10px 0px rgb (17,17,17), / * 1 cień * / wstawka 0px 1px 1px 0px rgba (250 , 250, 250, .2), / * 3rd Shadow * / inset 0px -12px 35px 0px rgba (0, 0, 0, .5); / * 4. cień * / szerokość: 70px; wysokość: 70px; granica: 0; granica-promień: 35px; wyrównywanie tekstu: środek; wysokość linii: 79px;  

    Na zewnętrznej stronie przycisku znajduje się również większy okrąg i będziemy używać :przed pseudoelement zamiast tego dodawać dodatkowe znaczniki.

     a: before content: ""; szerokość: 80px; wysokość: 80px; Blok wyświetlacza; z-index: -2; pozycja: absolutna; kolor tła: rgb (26,27,29); lewo: -5px; top: -2px; granica-promień: 40px; box-shadow: 0px 1px 0px 0px rgba (250,250,250,0,1), wstawka 0px 1px 2px rgba (0, 0, 0, 0,5);  

    Dalsza lektura: CSS: przed i: po pseudoelementy (Hongkiat.com)

    Kontrolka

    Pod przyciskiem znajduje się małe światełko określające stan włączenia i wyłączenia zasilania. Poniżej stosujemy kolor czerwony dla światła, ponieważ moc jest początkowo wyłączona, dodajemy również box-shadow naśladować efekt błysku światła.

     a + span display: block; szerokość: 8px; wysokość: 8px; kolor tła: rgb (226,0,0); box-shadow: wstawka 0px 1px 0px 0px rgba (250,250,250,0,5), 0px 0px 3px 2px rgba (226,0,0,0,5); border-radius: 4px; oba czyste; pozycja: absolutna; bottom: 0; po lewej: 42%;  

    Efekt

    W tym momencie nasz przycisk zaczyna wyglądać dobrze i musimy tylko dodać do niego pewne efekty, na przykład, gdy przycisk jest „kliknięty”, chcemy, aby przycisk wyglądał tak, jakby był wciśnięty i przytrzymany.

    Aby osiągnąć efekt, pierwszy box-shadow przycisk zostanie wyzerowany, a pozycja zostanie nieco obniżona. Musimy również dostosować intensywność pozostałych trzech cieni, aby dopasować pozycję przycisku.

     a: active box-shadow: 0px 0px 0px 0px rgb (34,34,34), / * 1st Shadow * / 0px 3px 7px 0px rgb (17,17,17), / * 2nd Shadow * / inset 0px 1px 1px 0px rgba (250, 250, 250, .2), / * 3rd Shadow * / inset 0px -10px 35px 5px rgba (0, 0, 0, .5); / * 4th Shadow * / background-color: rgb (83,87,93); top: 3px;  

    Ponadto, po kliknięciu przycisku, powinien on pozostać wciśnięty, a ikona powinna „świecić”, wskazując, że zasilanie jest włączone.

    Aby osiągnąć taki efekt, wycelujemy w przycisk za pomocą :cel pseudoklasa, następnie zmień kolor ikony na biały i dodaj cień tekstu z białym kolorem.

     a: target box-shadow: 0px 0px 0px 0px rgb (34,34,34), 0px 3px 7px 0px rgb (17,17,17), wstawka 0px 1px 1px 0px rgba (250, 250, 250, .2) , wstawka 0px -10px 35px 5px rgba (0, 0, 0, .5); background-color: rgb (83,87,93); top: 3px; kolor: #fff; tekst-cień: 0px 0px 3px rgb (250,250,250);  

    Dalsza lektura: Używanie: target pseudoklasa

    Musimy również dostosować box-shadow w kółku poza przyciskiem, w następujący sposób.

     a: active: before, a: target: before top: -5px; kolor tła: rgb (26,27,29); box-shadow: 0px 1px 0px 0px rgba (250,250,250,0,1), wstawka 0px 1px 2px rgba (0, 0, 0, 0,5);  

    Wskaźnik światła zmieni kolor z domyślnego koloru czerwonego na zielony, aby podkreślić, że zasilanie jest już włączone.

     a: target + span box-shadow: wstawka 0px 1px 0px 0px rgba (250,250,250,0,5), 0px 0px 3px 2px rgba (135 187,83,0,5); background-color: rgb (135,187,83);  

    Efekt przejścia

    Na koniec, aby efekt przycisku działał płynnie, zastosujemy również następujący efekt przejścia.

    Poniższy fragment dodaje konkretnie przejście do kolor własność i cień tekstu dla 350ms w elemencie kotwicy.

     a przejście: kolor 350ms, tekst-cień 350ms; -o-przejście: kolor 350ms, cień tekstu 350ms; -moz-transition: kolor 350ms, text-shadow 350ms; -webkit-transition: kolor 350ms, text-shadow 350ms;  

    Ten drugi fragment poniżej doda przejście dla kolor tła i box-shadow właściwość wskaźnika świetlnego.

     a: target + span przejście: kolor tła 350ms, box-shadow 700ms; -o-przejście: kolor tła 350ms, box-shadow 700ms; -moz-transition: kolor tła 350ms, box-shadow 700ms; -webkit-transition: kolor tła 350ms, box-shadow 700ms;  

    Ostateczny wynik

    Przeszliśmy przez wszystkie style, których potrzebujemy, teraz możesz zobaczyć końcowy wynik na żywo, a także pobrać plik źródłowy z poniższych linków.

    • Próbny
    • Pobierz źródło

    Bonus: jak go wyłączyć

    Oto bonus. Jeśli próbowałeś przycisku z powyższej wersji demonstracyjnej, zauważyłeś, że przycisk można kliknąć tylko raz, aby go włączyć, więc jak go wyłączyć?.

    Niestety musimy to zrobić za pomocą jQuery, ale jest to również bardzo proste. Poniżej znajduje się cały potrzebny kod jQuery.

     $ (document) .ready (function () $ ('# button'). kliknij (function () $ (this) .toggleClass ('on'););); 

    Powyższy fragment doda klasę ON do kotwicy i użyliśmy toggleClass funkcja z jQuery, aby ją dodać. Więc kiedy #przycisk zostanie kliknięty, jQuery sprawdzi, czy klasa ON została dodana, czy nie: gdy nie jest, jQuery doda klasę, a jeśli została dodana, jQuery usunie klasę.

    Uwaga: Nie zapomnij dołączyć biblioteki jQuery.

    Teraz musimy trochę zmienić styl. Po prostu wymień wszystkie :cel pseudoelement z .na selektor klasy w następujący sposób:

     a.on box-shadow: 0px 0px 0px 0px rgb (34,34,34), 0px 3px 7px 0px rgb (17,17,17), wstawka 0px 1px 1px 0px rgba (250, 250, 250, .2) , wstawka 0px -10px 35px 5px rgba (0, 0, 0, .5); background-color: rgb (83,87,93); top: 3px; kolor: #fff; tekst-cień: 0px 0px 3px rgb (250,250,250);  a: active: before, a.on: before top: -5px; kolor tła: rgb (26,27,29); box-shadow: 0px 1px 0px 0px rgba (250,250,250,0,1), wstawka 0px 1px 2px rgba (0, 0, 0, 0,5);  a.on + span box-shadow: wstawka 0px 1px 0px 0px rgba (250,250,250,0,5), 0px 0px 3px 2px rgba (135 187,83,0,5); background-color: rgb (135,187,83);  

    Na koniec spróbujmy w przeglądarce.

    • Próbny
    • Pobierz źródło