Koduleht » Kodeerimine » CSS3 õpetus Loo klanitud sisse / välja nupule

    CSS3 õpetus Loo klanitud sisse / välja nupule

    See artikkel on osa meie "HTML5 / CSS3 juhendite seeria" - pühendatud selleks, et aidata teil paremini disainer ja / või arendaja. Kliki siia et näha sama seeria rohkem artikleid.

    Nupu kasutamine on siiani eelistatud viis elektrooniliste asjadega suhelda; nagu raadio, TV, muusikapleier ja isegi nutitelefon, millel on häälkäskluse funktsioon, vajavad veel vähemalt ühte või kahte füüsilist nuppu.

    Lisaks sellele digitaalsel ajastul on nuppu on arenenud ka oma digitaalsel kujul, mis muudab selle füüsilise nupuga võrreldes interaktiivsemaks, dünaamilisemaks ja reaalsemaks.

    Niisiis, seekord loome me slicki ja interaktiivse nupu, mis põhineb Dribbble'i suurepärasel disainil, kasutades ainult CSS-i.

    Noh, alustame lihtsalt.

    HTML

    Alustame nuppu, asetades HTML-dokumendile järgmise märgistuse. See on tõesti lihtne, nupp põhineks ankrumärgil, meil on ka a span selle kõrval, et luua indikaatortuli, ja seejärel pakitakse need HTML5-sse lõik silt.

     
    & # xF011;

    Siin on, kuidas meie nupp algselt välja näeb.

    Põhiline stiil

    Selles osas alustame tööd Stiilid.

    Kõigepealt rakendame seda pimedat tausta keha dokumendil peenest mustrist ja keskele lõik. Seejärel eemaldame ka punktiir ülevaade peale : fookus ja : aktiivne link.

     keha taust: url ('images / micro_carbon.png');  sektsioon marginaal: 150px auto 0; laius: 75px; kõrgus: 95x; positsioon: suhteline; teksti joondamine: keskus; : aktiivne:: fookus kontuur: 0;  

    Kohandatud fondi kasutamine

    Nupu ikooni puhul kasutame fonti Awesome'st kohandatud pildi asemel kujutist. Sel moel on ikoon lihtsalt stiilivõimeline ja stiilitabeli kaudu võimeline.

    Laadige font alla, salvestage fondifailid (eot, woff, ttf ja svg) fonte seejärel asetage oma stiilile järgmine kood uue fontide perekonna määratlemiseks.

     @ font-face font-family: "FontAwesome"; src: url ("fonts / fontawesome-webfont.eot"); src: url ("fonts / fontawesome-webfont.eot? #iefix") vorming ('eot'), url ("fonts / fontawesome-webfont.woff") formaat ('woff'), url ("fonts / fontawesome- webfont.ttf ") formaadis ('truetype'), url (" fonts / fontawesome-webfont.svg # FontAwesome ") formaat ('svg'); fondi kaal: normaalne; font-style: normaalne;  

    The võimsuse ikoon seda nuppu vajame Unicode'i numbris F011; kui vaatate ülaltoodud HTML-märgistust tähelepanelikult, oleme selle numbrimärgi sisestanud & # xF011; ankurmärgis, kuid kuna me pole kohandatud font-pere nupu stiilis on ikoon ikka veel korrektselt muudetud.

    Lisalugemist: Unicode ja HTML: dokumendimärgid

    Nupu kujundamine

    Kõigepealt peame määratlema tava font-pere nupule.

    Meie nupp on ring, me saame ringi efekti saavutada kasutades raadius omadus ja määrake väärtus vähemalt poolele nupule laius.

    Kuna kasutame ikooni jaoks fonti, siis saame selle lihtsalt seadistada värv ja lisa teksti vari ka stiililehel olevale ikoonile.

    Seejärel luuakse nupule ka kaldjooneline efekt. See efekt on üsna keeruline. Esiteks peame rakendama taustavärv: rgb (83,87,93); nupu värvibaasi jaoks lisame kuni neli kihti kasti varjud.

     font-family: "FontAwesome"; värv: rgb (37,37,37); teksti-vari: 0px 1px 1px rgba (250,250,250,0.1); fondi suurus: 32pt; kuva: plokk; positsioon: suhteline; teksti kaunistus: mitte; taustavärv: rgb (83,87,93); karp-vari: 0px 3px 0px 0px rgb (34,34,34), / * 1. vari * / 0px 7px 10px 0px rgb (17,17,17), / * 1. vari * / sisend 0px 1px 1px 0px rgba (250 , 250, 250, .2), / * 3. vari * / sisestus 0px -12px 35px 0px rgba (0, 0, 0, .5); / * 4. vari * / laius: 70px; kõrgus: 70px; piir: 0; raadius: 35x; teksti joondamine: keskus; rea kõrgus: 79px;  

    Nupu välisküljel on ka suurem ring ja me kasutame seda : enne pseudoelement selle asemel, et lisada täiendavat märgistust.

     a: enne sisu: "; laius: 80 px; kõrgus: 80 px; kuva: plokk; z-indeks: -2; positsioon: absoluutne; taustavärv: rgb (26,27,29); vasakule: -5px; top: -2px; raadius: 40px; karp-vari: 0px 1px 0px 0px rgba (250,250,250,0.1), sisend 0px 1px 2px rgba (0, 0, 0, 0,5);  

    Lisalugemist: CSS: enne ja pärast pseudoelemendid (Hongkiat.com)

    Suunatuli

    Nupu all on väike valgus, mis tähistab toite ja väljalülitamise olekut. Allpool rakendame valguse värvi jaoks punast värvi, sest võimsus on esialgu välja lülitatud, lisame ka kast-vari imiteerida valgustugevuse mõju.

     a + span kuva: plokk; laius: 8x; kõrgus: 8x; taustavärv: rgb (226,0,0); karp-vari: sisend 0px 1px 0px 0px rgba (250,250,250,0,5), 0px 0px 3px 2px rgba (226,0,0,0,5); raadius: 4x; selge: mõlemad; positsioon: absoluutne; põhja: 0; vasakule: 42%;  

    Mõju

    Sel hetkel hakkab meie nupp hästi nägema ja me peame sellele lisama mõningaid mõjusid, näiteks kui klõpsatakse nupul, siis tahame, et see nupp näeks välja nagu seda vajutatakse ja hoitakse all.

    Efekti saavutamiseks, esimene kast-vari nupp nullitakse ja positsioon langetatakse natuke. Samuti peame kohandama ülejäänud kolm varju intensiivsust veidi, et see vastaks nupu positsioonile.

     a: aktiivne box-shadow: 0px 0px 0px 0px rgb (34,34,34), / * 1. vari * / 0px 3px 7px 0px rgb (17,17,17), / * 2. vari * / sisend 0px 1px 1px 0px rgba (250, 250, 250, .2), / * 3. vari * / sisestus 0px -10px 35px 5px rgba (0, 0, 0, .5); / * 4. vari * / taustavärv: rgb (83,87,93); top: 3px;  

    Peale selle, kui nupp on klõpsatud, peaks see jääma allapoole ja ikoon peaks „paistma”, et näidata, et toide on sisse lülitatud.

    Sellise efekti saavutamiseks suuname nupu : sihtmärk pseudo-klass, seejärel muutke ikooni värvi valge ja lisage a teksti vari ka valge värviga.

     a: target box-shadow: 0px 0px 0px 0px rgb (34,34,34), 0px 3px 7px 0px rgb (17,17,17), sisend 0px 1px 1px 0px rgba (250, 250, 250, .2) , sisestage 0px -10px 35px 5px rgba (0, 0, 0, .5); taustavärv: rgb (83,87,93); top: 3px; värv: #fff; teksti-vari: 0px 0px 3px rgb (250,250,250);  

    Lisalugemist: Kasutades: sihtmärki pseudo-klass

    Samuti peame seda kohandama kast-vari ringist väljaspool nuppu, järgmiselt.

     a: aktiivne: enne, a: sihtmärk: enne top: -5px; taustavärv: rgb (26,27,29); karp-vari: 0px 1px 0px 0px rgba (250,250,250,0.1), sisend 0px 1px 2px rgba (0, 0, 0, 0,5);  

    Valgusindikaator lülitub vaikevärvilt roheliseks, et rõhutada, et toide on juba sisse lülitatud.

     a: target + span box-shadow: sisend 0px 1px 0px 0px rgba (250,250,250,0,5), 0px 0px 3px 2px rgba (135,187,83,0,5); taustavärv: rgb (135,187,83);  

    Ülemineku efekt

    Lõpuks rakendame nupu efekti sujuvaks muutmiseks ka järgmist üleminekuefekti.

    See allpool olev väljavõte lisab konkreetselt ülemineku värv vara ja teksti vari jaoks 350 ms ankurelemendis.

     a üleminek: värvus 350ms, teksti vari 350ms; -o-üleminek: värvi 350ms, teksti varju 350ms; -moz-üleminek: värvi 350ms, teksti varju 350ms; -webkit-üleminek: värvus 350ms, teksti vari 350ms;  

    Järgmine allpool olev väljaanne lisab ülemineku taustavärv ja kast-vari valguse indikaator.

     a: sihtmärk + span üleminek: taustavärv 350ms, kasti vari 700ms; -o-üleminek: taustavärv 350ms, box-shadow 700ms; -moz-üleminek: taustavärv 350ms, box-shadow 700ms; -webkit-üleminek: taustavärv 350ms, box-shadow 700ms;  

    Lõplik tulemus

    Oleme jõudnud läbi kõigi vajalike stiilide, nüüd saate näha lõpptulemust ning allalaadida allikafaili allolevatest linkidest.

    • Demo
    • Allalaadimise allikas

    Boonus: kuidas seda välja lülitada

    Siin tuleb boonus. Kui olete proovinud ülaltoodud demo nupust, olete märganud, et nuppu saab klõpsata ainult üks kord, see on sisse lülitatud, nii et kuidas see välja lülitada?.

    Kahjuks peame seda tegema jQueryga, kuid see on ka väga lihtne. Allpool on kõik vajalikud jQuery koodid.

     $ (dokument). jau (funktsioon () $ ('# nupp'). Klõpsake (funktsioon () $ (see) .toggleClass ('on'););); 

    Ülaltoodud väljavõte lisab ankrusse klassi ON ja me kasutasime seda toggleClass funktsiooni lisamiseks. Niisiis, millal # nupp klõpsatakse, jQuery kontrollib, kas klass ON on lisatud või mitte: kui see ei ole, lisab jQuery klassi ja kui see on lisatud, eemaldab jQuery klassi.

    Märge: Ärge unustage lisada jQuery raamatukogu.

    Nüüd peame stiili veidi muutma. Lihtsalt asenda kõik : sihtmärk pseudoelement koos .edasi klassi valija:

     a.on box-shadow: 0px 0px 0px 0px rgb (34,34,34), 0px 3px 7px 0px rgb (17,17,17), sisend 0px 1px 1px 0px rgba (250, 250, 250, .2) , sisestage 0px -10px 35px 5px rgba (0, 0, 0, .5); taustavärv: rgb (83,87,93); top: 3px; värv: #fff; teksti-vari: 0px 0px 3px rgb (250,250,250);  a: aktiivne: enne, a.on: enne top: -5px; taustavärv: rgb (26,27,29); karp-vari: 0px 1px 0px 0px rgba (250,250,250,0.1), sisend 0px 1px 2px rgba (0, 0, 0, 0,5);  a.on + span box-shadow: sisend 0px 1px 0px 0px rgba (250,250,250,0,5), 0px 0px 3px 2px rgba (135,187,83,0,5); taustavärv: rgb (135,187,83);  

    Lõpuks proovige seda brauseris.

    • Demo
    • Allalaadimise allikas