Pagina principala » Web design » Crearea unei casete de căutare Rocking CSS3

    Crearea unei casete de căutare Rocking CSS3

    Acest articol este parte a noastră "Seria Tutoriale HTML5 / CSS3" - dedicat pentru a vă ajuta să vă faceți un designer mai bun și / sau un dezvoltator. Click aici pentru a vedea mai multe articole din aceeași serie.

    CSS3 este limba de ultima generatie a foilor de stil. Acesta introduce o mulțime de caracteristici noi și interesante cum ar fi umbre, animații, tranziții, raza de frontieră etc. Deși specificațiile nu au fost încă finalizate, mulți producători de browsere au început deja să susțină multe dintre noile caracteristici.

    În acest tutorial, vom explora unele dintre aceste caracteristici, cum ar fi text-shadow, border-radius, box-umbre și tranziții pentru a crea un câmp de căutare rock.

    Versiunea photoshop a acestui câmp de căutare a fost creată de Alvin Thong și poate fi descărcată de aici. Am încercat să recreez acest câmp de căutare utilizând CSS3 pură. Trebuie remarcat faptul că nu toate browserele suportă funcțiile CSS3 și pentru a încerca acest tutorial, ar trebui să utilizați unul dintre browserele moderne care suportă funcțiile CSS 3.

    Gata? Să începem!

    1. HTML5 Doctype

    Vom începe cu marcajul HTML. Este foarte simplu, după HTML5 doctype și declarație, avem

    cu un ID numit #wrapper interior . Acest lucru se face simplu pentru a defini lățimea casetei de conținut și pentru al alinia la centrul paginii.

    Acest lucru este urmat de a

    cu un ID numit #principal. Acest ID conține stilurile care definesc caseta albă mare în jurul câmpului de introducere și butonul de căutare. Acest
    are o
    declarată în interiorul său. Formularul are câmpul de introducere a textului și sbutonul de buton. Iată cum arată formularul fără a aplica nici un fel de stiluri:

    Iată cum arată codul:

       CSS3 Câmp de căutare   

    CSS3 Câmp de căutare

    2. Crearea casetei de restricționare

    Pentru a crea o cutie mare în jurul formularului, vom adăuga stiluri la

    cu ID-ul de #principal. Din codul afișat mai jos, veți observa că caseta a primit o lățime de 400 de pixeli și o înălțime de 50 de pixeli.

     #main width: 400px; înălțime: 50px; fundal: # f2f2f2; padding: 6px 10px; frontieră: 1px solid # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; raza de graniță: 5px; -moz-box-umbra: platcă 0 0 3px RGBA (255, 255, 255, 0,8), platcă 0 2px 2px RGBA (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.8), inset 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 # ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-umbra: platcă 0 0 3px RGBA (255, 255, 255, 0,8), platcă 0 2px 2px RGBA (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede;  

    Codul important aici este codul border-radius și declarația box-shadow declaraţie. Pentru a crea colțuri rotunjite, am utilizat declarația CSS3 border-radius, „-moz-“ și „-webkit-“ prefixe browser-ul au fost folosite pentru a se asigura că acest lucru funcționează în gecko și WebKit bazate pe browsere. Declarațiile de umbră din cutie ar putea părea puțin confuză, dar de fapt sunt foarte simple.

     box-umbra: platcă 0 0 3px RGBA (255, 255, 255, 0,8), platcă 0 2px 2px RGBA (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede; 

    Explicaţie: Aici, insetul de cuvinte cheie specifică dacă umbra va fi în interiorul casetei. Primele două valori zero indică decalajul x și decalajul y, iar cele 3 pixeli indică neclaritatea. Următoarea este declarația de culoare. Am folosit valorile rgba aici; rgba înseamnă albastru roșu și alfa (opacitate). Astfel, cele 4 valori din paranteză indică cantitatea de roșu, verde, albastru și alfa (opacitatea). Veți observa că 5 seturi de declarații umbroase au fost împrăștiate împreună. Acest lucru se poate face separându-le cu o virgulă. Primele două umbre definesc efectul de "strălucire interioară" albă, iar următoarele declarații dau căsuței aspectul solid / ciudat.

    Redați-vă cu aceste valori pentru a înțelege cum funcționează.

    previzualizare

    3. Styling câmpul de introducere

    Acum, când caseta este completă, permiteți să treceți la modelarea câmpului de introducere.

     introduceți [type = "text"] float: left; lățime: 230px; padding: 15px 5px 5px 5px; margin-top: 5px; margin-stânga: 3px; frontieră: 1px solid # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; raza de graniță: 5px; -moz-box-shadow: inserție 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; -webkit-box-shadow: inserție 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; box-shadow: inserție 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede;  

    Stilurile declarate pentru câmpul de intrare sunt destul de similare cu cele decarate pentru cutia mare #principal. Am folosit aceeași rază de graniță (5px). Din nou, mai multe umbre de box au fost clubate.

     box-shadow: inserție 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; 

    Explicaţie: Veți observa că de data aceasta, blurul umbrei a fost menținut la 0 pentru a obține o umbră ascuțită și o compensare verticală de 5px este utilizată. În declarațiile succesive, estomparea a fost menținută la 0px, dar culoarea și offsetul au fost modificate. Din nou, jucați cu aceste valori pentru a obține rezultate diferite.

    previzualizare

    4. Styling butonul de trimitere

    Să stilizăm butonul de căutare.

     introduceți [type = "trimiteți"] solid float: left; cursor: pointer; lățime: 130px; padding: 8px 6px; margin-stânga: 20px; fundal-culoare: # f8b838; culoare: rgba (134, 79, 11, 0,8); text-transform: majuscule; font-weight: bold; frontieră: 1px solid # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; raza de graniță: 5px; text-shadow: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); -moz-box-shadow: inserție 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 # ccc; -webkit-transition: background 0.2s ease-out;  

    În afară de culori, butonul de căutare are în majoritate aceleași stiluri ca cel al cutiei exterioare. La buton s-au folosit raze de rază de margine și umbre în cutie. Noua facilitate introdusă este text-shadow.

     text-shadow: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); 

    Explicaţie: În text-shadow declarație, primele trei valori numerice sunt x-offset, y-offset și respectiv blur. Valorile rgba indică culoarea umbrei. În următorul set de declarație (separat printr-o virgulă), y-offset-ul primește o valoare de -1. Acest lucru se face pentru a da textului un mesaj “umbra interioara” efect. Starea de orientare / focalizare a butonului trimite are diferite valori ale culorii de fundal și ale umbrelor.

    previzualizare

    Starea "activă" pentru buton

    Starea activă a butonului are mai multe modificări. În aceasta, am dat butonul o poziție absolută și o valoare "de sus" de 5px. Acest lucru a fost făcut pentru a oferi un aspect mai natural, astfel încât să se simtă că butonul a fost de fapt împins în jos cu 5 pixeli. Alte modificări la starea activă sunt cele de culoare de fundal și umbre. Observați că am redus y-offsetul umbrelor pentru a-i da o imagine "presată". Aici este codul pentru starea activă a butonului de trimitere:

     intrare [type = "trimite"] solid: activ background: # f6a000; poziția: relativă; top: 5px; frontieră: 1px solid # 702d00; -moz-box-shadow: inserție 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 # ccc;  

    Codul complet (CSS)

    Acest lucru completează câmpul de căutare. Am folosit câteva dintre noile caracteristici CSS3. Aici este CSS completă și HTML a acestui câmp de căutare.

     #main width: 400px; înălțime: 50px; fundal: # f2f2f2; padding: 6px 10px; frontieră: 1px solid # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; raza de graniță: 5px; -moz-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.8), inset 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.8), inset 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 # ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-umbra: platcă 0 0 3px RGBA (255, 255, 255, 0,8), platcă 0 2px 2px RGBA (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede;  introduceți [type = "text"] float: left; lățime: 230px; padding: 15px 5px 5px 5px; margin-top: 5px; margin-stânga: 3px; frontieră: 1px solid # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; raza de graniță: 5px; -moz-box-shadow: inserție 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; -webkit-box-shadow: inserție 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; box-shadow: inserție 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede;  intrare [tip = "trimite"] solid float: left; cursor: pointer; lățime: 130px; padding: 8px 6px; margin-stânga: 20px; fundal-culoare: # f8b838; culoare: rgba (134, 79, 11, 0,8); text-transform: majuscule; font-weight: bold; frontieră: 1px solid # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; raza de graniță: 5px; text-shadow: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); -moz-box-shadow: inserție 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 # ccc; -webkit-transition: background 0.2s ease-out;  solid: hover, input [type = "trimite"] solid: focus background: # ffd842; -moz-box-shadow: inserție 0 0 3px rgba (255, 255, 255, 0.9), inset 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: inserție 0 0 3px rgba (255, 255, 255, 0.9), inset 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.9), inset 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 # ccc;  input [type = "trimite"] solid: activ background: # f6a000; poziția: relativă; top: 5px; frontieră: 1px solid # 702d00; -moz-box-shadow: inserție 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-shadow: inset 0 0 3px rgba (255, 255, 255, 0.6), inset 0 1px 2px rgba (255, 255, 255, 0.7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 # ccc;  

    Sper că v-ați bucurat de acest tutorial. Simțiți-vă liber să experimentați aceste caracteristici și nu uitați să împărtășiți gândurile.

    Nota editorului: Această postare este scrisă de Bharani M pentru Hongkiat.com. Bharani este un designer / dezvoltator din New Delhi, India.

    © Savtec
    Informații utile și sfaturi de dezvoltare web. Programare, design web, CSS, HTML, JAVASCRIPT. Configurați și reinstalați WINDOWS. Crearea site-urilor și aplicațiilor de la zero.