Homepage » Web design » Creazione di una casella di ricerca CSS3 oscillante

    Creazione di una casella di ricerca CSS3 oscillante

    Questo articolo è parte del nostro "Serie di tutorial HTML5 / CSS3" - dedicato a farti diventare un designer e / o sviluppatore migliore. Clicca qui per vedere più articoli della stessa serie.

    CSS3 è il linguaggio di fogli di stile di prossima generazione. Introduce molte nuove ed entusiasmanti funzioni come ombre, animazioni, transizioni, raggio di confine ecc. Sebbene le specifiche non siano ancora state finalizzate, molti produttori di browser hanno già iniziato a supportare molte delle nuove funzionalità.

    In questo tutorial, esploreremo alcune di queste funzioni come text-shadow, border-radius, box-ombre e transizioni per creare un campo di ricerca a dondolo.

    La versione photoshop di questo campo di ricerca è stata creata da Alvin Thong e può essere scaricata da qui. Ho provato a ricreare questo campo di ricerca usando puro CSS3. Va notato che non tutti i browser supportano le funzionalità CSS3 e per provare questo tutorial, dovresti usare uno dei browser moderni che supportano le funzionalità di CSS 3.

    Pronto? Iniziamo!

    1. Documento HTML5

    Inizieremo con il markup HTML. È molto semplice, dopo il Doctype HTML5 e il dichiarazione, abbiamo a

    con un ID chiamato #wrapper dentro . Questo viene fatto semplicemente per definire la larghezza del riquadro del contenuto e per allinearlo al centro della pagina.

    Questo è seguito da a

    con un ID chiamato #principale. Questo ID contiene gli stili che definiscono il grande riquadro bianco attorno al campo di input e il pulsante di ricerca. Questo
    ha un
    dichiarato al suo interno. Il modulo ha il campo di inserimento del testo e la spulsante di ricerca. Ecco come appare il modulo senza alcuno stile applicato:

    Ecco come appare il codice:

       Campo di ricerca CSS3   

    Campo di ricerca CSS3

    2. Creazione del riquadro di delimitazione

    Per creare il riquadro grande attorno al modulo, aggiungeremo stili al

    con l'ID di #principale. Dal codice mostrato di seguito, noterai che al riquadro è stata assegnata una larghezza di 400 px e un'altezza di 50 px.

     #main width: 400px; altezza: 50 px; sfondo: # f2f2f2; imbottitura: 6px 10px; border: 1px solid # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 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 #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-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;  

    L'importante pezzo di codice qui è il border-radius dichiarazione e il box-ombra dichiarazione. Per creare angoli arrotondati, abbiamo utilizzato la dichiarazione border-radius CSS3, i prefissi "-moz-" e "-webkit-" sono stati utilizzati per garantire che questo funzioni nei browser basati su gecko e webkit. Le dichiarazioni shadow delle caselle potrebbero sembrare un po 'confuse, ma in realtà è molto semplice.

     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; 

    Spiegazione: Qui, la parola chiave inset specifica se l'ombra sarà all'interno della casella. I primi due zero indicano l'offset xe l'offset y e il 3px indica la sfocatura. La prossima è la dichiarazione del colore. Ho usato i valori di rgba qui; rgba sta per rosso blu verde e alfa (opacità). Quindi i 4 valori all'interno della parentesi indicano la quantità di rosso, verde, blu e il suo alfa (opacità). Noterai che 5 serie di dichiarazioni ombra sono state bastonate. Questo può essere fatto separandoli con una virgola. Le prime due ombre definiscono l'effetto bianco "bagliore interno" e le dichiarazioni successive danno alla scatola il suo aspetto solido / massiccio.

    Gioca con questi valori per capire come funziona.

    Anteprima

    3. Disegnare il campo di input

    Ora che la casella è completa, passiamo allo stile del campo di input.

     input [type = "text"] float: left; larghezza: 230 px; imbottitura: 15px 5px 5px 5px; margin-top: 5px; margin-left: 3px; border: 1px solid # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: inset 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; -webkit-box-shadow: inset 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; box-shadow: inset 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede;  

    Gli stili dichiarati per il campo di input sono molto simili a quelli decared per la scatola grande #principale. Abbiamo usato lo stesso raggio di confine (5px). Ancora una volta, più ombre di casella sono state bastonate.

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

    Spiegazione: Noterai che questa volta la sfocatura dell'ombra è stata mantenuta a 0 per ottenere un'ombra nitida e viene utilizzato un offset verticale di 5px. Nelle dichiarazioni successive, la sfocatura è stata mantenuta a 0px ma il colore e l'offset y sono stati modificati. Ancora una volta, giocare con questi valori per ottenere risultati diversi.

    Anteprima

    4. Disegnare il pulsante di invio

    Diamo uno stile al pulsante di ricerca.

     input [type = "submit"]. solid float: left; cursore: puntatore; larghezza: 130 px; imbottitura: 8px 6px; margin-left: 20px; background-color: # f8b838; colore: rgba (134, 79, 11, 0,8); text-transform: maiuscolo; font-weight: bold; border: 1px solid # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; text-shadow: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); -moz-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-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 easy-out;  

    Oltre ai colori, il pulsante di ricerca ha per lo più gli stessi stili di quello della scatola esterna. Sul pulsante sono stati utilizzati bordi e ombre di riquadri simili. La nuova funzionalità introdotta è la text-shadow.

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

    Spiegazione: Nel text-shadow dichiarazione, i primi tre valori numerici sono rispettivamente x-offset, y-offset e blur. I valori rgba indicano il colore dell'ombra. Nella prossima serie di dichiarazioni (separate da una virgola), l'offset y è assegnato a -1. Questo è fatto per dare al testo un “Ombra interiore” effetto. Lo stato di hover / focus del pulsante di invio ha diversi valori di colore di sfondo e ombre.

    Anteprima

    Stato "Attivo" per pulsante

    Lo stato attivo del pulsante ha un po 'più di modifiche. In questo, ho dato al pulsante una posizione assoluta e un valore "top" di 5px. Questo è stato fatto per dargli un aspetto più naturale, in modo tale da sentire che il pulsante è stato effettivamente premuto di 5 pixel. Altre modifiche allo stato attivo sono quelle del colore di sfondo e delle ombre. Notare che ho ridotto l'offset y delle ombre per dargli un aspetto 'premuto'. Ecco il codice per lo stato attivo del pulsante di invio:

     input [type = "submit"]. solid: active background: # f6a000; posizione: relativa; inizio: 5px; border: 1px solid # 702d00; -moz-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; -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;  

    Il codice completo (CSS)

    Questo completa il nostro campo di ricerca. Abbiamo usato un bel po 'delle nuove funzionalità CSS3. Ecco il CSS e l'HTML completi di questo campo di ricerca.

     #main width: 400px; altezza: 50 px; sfondo: # f2f2f2; imbottitura: 6px 10px; border: 1px solid # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 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 #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-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;  input [type = "text"] float: left; larghezza: 230 px; imbottitura: 15px 5px 5px 5px; margin-top: 5px; margin-left: 3px; border: 1px solid # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: inset 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; -webkit-box-shadow: inset 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede; box-shadow: inset 0 5px 0 #ccc, inset 0 6px 0 # 989898, inset 0 13px 0 #dfdede;  input [type = "submit"]. solid float: left; cursore: puntatore; larghezza: 130 px; imbottitura: 8px 6px; margin-left: 20px; background-color: # f8b838; colore: rgba (134, 79, 11, 0,8); text-transform: maiuscolo; font-weight: bold; border: 1px solid # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; text-shadow: 0 1px 2px rgba (255, 255, 255, 0.7), 0 -1px 0 rgba (64, 38, 5, 0.9); -moz-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-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 easy-out;  input [type = "submit"]. solid: hover, input [type = "submit"]. solid: focus background: # ffd842; -moz-box-shadow: inset 0 0 3px rgba (255, 255, 255, 0,9), inserto 0 2px 1px rgba (255, 250, 76, 0,8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-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; 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 = "submit"]. solid: active background: # f6a000; posizione: relativa; inizio: 5px; border: 1px solid # 702d00; -moz-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; -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;  

    Spero ti sia piaciuto questo tutorial. Sentiti libero di sperimentare queste caratteristiche e non dimenticare di condividere i tuoi pensieri.

    Nota dell'editore: Questo post è scritto da Bharani M per Hongkiat.com. Bharani è un designer / sviluppatore di New Delhi, in India.

    © Savtec
    Informazioni utili e suggerimenti per lo sviluppo web. Programmazione, web design, CSS, HTML, JAVASCRIPT. Configurare e reinstallare WINDOWS. Creazione di siti e applicazioni da zero.