The Intricate of Simplicity CSS3

Vi siete mai chiesti come un particolare effetto è stato ottenuto in un web design e, dopo aver ingrandito alcuni click, avete scoperto che l'autore ha aggiunto ombre, bordi, sfumature, ecc.? In passato, ciò era ottenuto semplicemente tagliando un'immagine e impostandola come sfondo di qualche elemento. Fortunatamente, con i CSS3, possiamo permetterci molta più flessibilità. Ora, mentre il codice per un effetto così semplice potrebbe essere un po 'noioso, ne vale la pena, ed è quello che esamineremo nel suggerimento scritto e video di oggi!


Versione video


Iscriviti alla nostra pagina YouTube per guardare tutti i tutorial video!

Piuttosto guarda questo screencast su Screenr.com?


Versione di testo

È sorprendente che qualcosa di così semplice richieda tanto codice, ma non è troppo approssimativo e può essere facilmente estratto in un frammento per un uso futuro.


Passaggio 1. Creare il mark-up

Per rendere il nostro progetto il più semplice possibile, stiamo lavorando solo con un div vuoto. Crea un nuovo file index.html e incolla quanto segue:

  

Passaggio 2. Creare la tela

Successivamente, aggiungeremo uno stile di base per l'elemento del corpo. Questo è solo per la presentazione e può essere facilmente rimosso. All'interno di tag di stile nella tua intestazione, aggiungi:

 / * Niente di speciale qui. Solo la tela * / body width: 500px; margine: 60px auto 0; sfondo: # 666; 

Passaggio 3. Styling the Box

Ora creeremo la nostra scatola, fornendo una larghezza e un'altezza.

 #box / * Solo una casella * / larghezza: 500px; altezza: 500 px; 

Passaggio 4. Angoli arrotondati

Dovremmo sapere tutti gli angoli arrotondati CSS ormai. Andiamo avanti e implementalo.

 / * Angoli arrotondati * / -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;

Nota che forniamo anche le specifiche finali, di "border-radius", oltre alle versioni di Mozilla e Webkit.


Passaggio 5. Colori del bordo

Mozilla offre una proprietà utile, chiamata "-moz-border - * - colors". Questo ci permette di impostare un numero infinito di colori per un bordo. Per ottenere un effetto "doppio confine" sottile, implementiamo questa proprietà.

 / * Imposta un bordo base e un colore * / bordo: 2 px bianco solido; / * Colori di bordi multipli in Gecko * / -moz-border-top-colors: # 292929 bianco; -moz-border-right-colors: # 292929 bianco; -moz-border-bottom-colors: # 292929 bianco; -moz-border-left-colors: # 292929 bianco;

Nota come il numero di colori che forniamo è uguale alla larghezza del bordo che abbiamo impostato all'inizio (2px). Inoltre, non mettere virgole dopo ogni valore esadecimale; All'inizio ho commesso questo errore!


Passaggio 6. Compensazione per Webkit

Per quanto ne so, al momento webkit non supporta i colori di bordo, anche se è possibile che io abbia torto. Se lo sono, per favore lascia un commento e fammi sapere! In ogni caso, per imitare questo effetto nel miglior modo possibile in Safari e Chrome, utilizzeremo box-shadow.

 / * Compensa per Webkit. Non è bello, ma funziona. * / -webkit-box-shadow: 0 -1px 2px # 292929;

Si noti che i valori forniti si riferiscono rispettivamente all'offset X, all'offset Y, alla sfocatura e al colore dell'ombra. Passando -1px come offset Y, possiamo spingere l'ombra verso l'alto.


Passaggio 7. Gradienti di sfondo CSS

Il passo finale è fornire un gradiente di sfondo sottile per la nostra scatola. Tuttavia, dobbiamo essere sicuri di fornire un colore solido di fallback per i browser che non supportano i gradienti CSS.

 / * Sottile sfumatura di sfondo, con fallback su tinta unita * / sfondo: # e3e3e3; background: -moz-linear-gradient (in alto, # a4a4a4, # e3e3e3); background: -webkit-gradient (lineare, in alto a sinistra, in basso a sinistra, da (# a4a4a4), a (# e3e3e3));

Sfortunatamente, Mozilla e Webkit non sono del tutto d'accordo sulla sintassi per i gradienti, il che rende il processo estremamente irritante. Se è troppo confuso, puoi usare un nuovo servizio chiamato CSS3 Si prega di generare automaticamente la sintassi di ogni browser; è molto bello!


Hai finito!

È fantastico; guardando la nostra immagine finale, è difficile dire cosa abbiamo effettivamente fatto! Ma questa è una buona cosa; la sottigliezza è la chiave in tutti gli aspetti del design. Grazie per la lettura / visualizzazione!


Codice finale

 / * Niente di speciale qui. Solo la tela * / body width: 500px; margine: 60px auto 0; sfondo: # 666;  #box / * Solo una casella * / larghezza: 500px; altezza: 500 px; / * Angoli arrotondati * / -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; bordo: 2px bianco solido; / * Colori di bordi multipli in Gecko * / -moz-border-top-colors: # 292929 bianco; -moz-border-right-colors: # 292929 bianco; -moz-border-bottom-colors: # 292929 bianco; -moz-border-left-colors: # 292929 bianco; / * Compensa per Webkit. Non è bello, ma funziona. * / -webkit-box-shadow: 0 -1px 2px # 292929; / * Sottile sfumatura di sfondo, con fallback su tinta unita * / sfondo: # e3e3e3; background: -moz-linear-gradient (in alto, # a4a4a4, # e3e3e3); background: -webkit-gradient (lineare, in alto a sinistra, in basso a sinistra, da (# a4a4a4), a (# e3e3e3));