Homepage » Coding » Comprensione dello pseudo-elemento prima e dopo

    Comprensione dello pseudo-elemento prima e dopo

    Il CSS (Cascading Style Sheet) è principalmente destinato all'applicazione di stili al markup HTML, tuttavia in alcuni casi l'aggiunta di markup extra al documento è ridondante o impossibile, in realtà esiste una funzionalità CSS che ci consente di aggiungere markup extra senza interrompere il vero documento, cioè il pseudo-elementi.

    Hai sentito parlare di questo termine, specialmente quando hai seguito alcuni dei nostri tutorial.

    Ci sono in realtà alcuni membri della famiglia CSS che sono classificati come pseudo-elementi come il :prima linea, :prima lettera, ::selezione, :prima e :dopo. Ma, per questo articolo, limiteremo la nostra copertura solo al :prima e :dopo, “pseudo-elementi” qui riferirò specificamente a entrambi. Analizzeremo questo particolare argomento dalle basi.

    La sintassi e il supporto del browser

    Il pseudo-elementi sono stati in giro da allora CSS1, ma il :prima e :dopo che stiamo discutendo qui sono stati rilasciati in CSS 2.1. All'inizio, il pseudo-elementi usa i due punti per la sintassi, poi come il web si è evoluto, in CSS3 pseudo-elementi sono stati rivisti per usare il doppio colon - diventando ::prima & ::dopo - per distinguerlo con pseudo-classi (vale a dire. : hover, :attivo, e così via).

    Tuttavia, indipendentemente dal fatto che si utilizzi il formato a due punti o due punti, i browser riconosceranno comunque. E dal momento che Internet Explorer 8 supporta solo il formato a due punti, è più sicuro utilizzare il singolo punto se si desidera una maggiore compatibilità con il browser.

    Che cosa fa?

    In breve, il pseudo-elementi inserirà un elemento in più prima o dopo l'elemento del contenuto, quindi quando li aggiungiamo entrambi, sono tecnicamente uguali, con il seguente markup.

     

    :prima Questo è il contenuto principale. :dopo

    Ma quegli elementi non sono effettivamente generati sul documento. Sono ancora visibili in superficie ma non li troverai sulla fonte del documento, quindi praticamente lo sono falso elementi.

    Usando pseudo-elementi

    utilizzando pseudo-elementi è relativamente facile; la seguente sintassi selettore: prima aggiungerà un elemento prima il selettore del contenuto mentre questa sintassi selettore: dopo aggiungerà dopo di esso, e per aggiungere un contenuto al loro interno possiamo usare il soddisfare proprietà.

    Ad esempio, il frammento di seguito aggiungerà un virgolette prima e dopo il blockquote.

     blockquote: before content: open-quote;  blockquote: after content: close-quote;  

    Pseudo-elementi stilistici

    Nonostante sia un elemento falso, il pseudo-elementi in realtà si comporta come un “vero” elemento; siamo in grado di aggiungere qualsiasi dichiarazione di stile su di essi, come cambiare il colore, aggiungere lo sfondo, regolare la dimensione del carattere, allineare il testo al suo interno e così via.

     blockquote: before content: open-quote; font-size: 24pt; allineamento del testo: centro; altezza della linea: 42 px; colore: #fff; sfondo: #ddd; float: a sinistra; posizione: relativa; superiore: 30 px;  blockquote: after content: close-quote; font-size: 24pt; allineamento del testo: centro; altezza della linea: 42 px; colore: #fff; sfondo: #ddd; float: giusto; posizione: relativa; fondo: 40px;  

    Specifica la dimensione

    Gli elementi generati sono di default un elemento a livello di riga, quindi quando stiamo per specificare l'altezza e la larghezza, dobbiamo prima definirlo come un elemento di blocco usando il blocco di visualizzazione dichiarazione.

     blockquote: before content: open-quote; font-size: 24pt; allineamento del testo: centro; altezza della linea: 42 px; colore: #fff; sfondo: #ddd; float: a sinistra; posizione: relativa; superiore: 30 px; border-radius: 25px; / ** definirlo come un elemento di blocco ** / display: block; altezza: 25px; larghezza: 25px;  blockquote: after content: close-quote; font-size: 24pt; allineamento del testo: centro; altezza della linea: 42 px; colore: #fff; sfondo: #ddd; float: giusto; posizione: relativa; fondo: 40px; border-radius: 25px; / ** definirlo come un elemento di blocco ** / display: block; altezza: 25px; larghezza: 25px;  

    Allegare l'immagine di sfondo

    Possiamo anche sostituire il contenuto con un'immagine anziché solo testo normale. sebbene il soddisfare la proprietà fornisce a url () stringa per inserire un'immagine, ma nella maggior parte dei casi preferisco di gran lunga utilizzare il sfondo proprietà per un maggiore controllo sull'immagine allegata.

     blockquote: before content: ""; font-size: 24pt; allineamento del testo: centro; altezza della linea: 42 px; colore: #fff; float: a sinistra; posizione: relativa; superiore: 30 px; border-radius: 25px; background: url (images / quotationmark.png) -3px -3px #ddd; blocco di visualizzazione; altezza: 25px; larghezza: 25px;  blockquote: after content: ""; font-size: 24pt; allineamento del testo: centro; altezza della linea: 42 px; colore: #fff; float: giusto; posizione: relativa; fondo: 40px; border-radius: 25px; background: url (images / quotationmark.png) -1px -32px #ddd; blocco di visualizzazione; altezza: 25px; larghezza: 25px;  

    Tuttavia, come puoi vedere dallo snippet qui sopra, stiamo ancora dichiarando il soddisfare proprietà e questa volta con una stringa vuota. Il soddisfare la proprietà è Un requisito e dovrebbe sempre essere applicato; altrimenti il pseudo-elemento non funzionerà qualsiasi.

    Combinazione con pseudo-classi

    Anche se sono un tipo diverso di pseudo-, possiamo usare il pseudo-classi insieme a pseudo-elementi insieme in una regola CSS, per esempio, se vogliamo girare il sfondo di virgolette un po 'più scuro quando passiamo il mouse sopra il blockquote.

     blockquote: hover: after, blockquote: hover: before background-color: # 555;  

    Aggiunta dell'effetto di transizione

    E possiamo anche applicare il transizione su di loro per creare un grazioso effetto di transizione del colore.

     transizione: tutti i 350ms; -o-transizione: tutti i 350ms; -moz-transition: tutti i 350ms; -webkit-transition: tutti i 350ms; 

    Sfortunatamente, però, l'effetto di transizione sembra funzionare solo nell'ultima versione di Firefox. Si spera che altri browser raggiungano il tempo per consentire l'applicazione della proprietà di transizione pseudo-elementi nel futuro.

    • dimostrazione
    • Scarica fonte

    Più ispirazione

    Per ispirarti, abbiamo selezionato tre fantastici esempi che possono darti idee per il tuo web design.

    Ombre affascinanti

    In questo tutorial Paul Underwood ha spiegato come creare un effetto ombra più realistico e affascinante usando :prima e :dopo pseudo-elementi. Entrambi sono posizionati in modo assoluto e posizionati nella parte posteriore con negativo z-index valore.

    Effetto immagine impilata

    Usando il pseudo-elementi è anche possibile creare un effetto immagine impilato disordinato solo con una singola immagine sul markup. Il pseudo-elementi è usato per creare un'illusione delle immagini impilate nella parte posteriore dell'immagine reale usando il negativo z-index.

    Conclusione

    Pseudo elementi è semplicemente “freddo” e alla fine utilizzabile, in pratica abbiamo due elementi bonus per ogni elemento che aggiungiamo senza interferire con la struttura HTML effettiva e quindi trasformandoli in quasi tutto ciò che possiamo mai immaginare.

    Ci sono in realtà alcuni miglioramenti per pseudo-elementi che è attualmente in lavorazione, come ad esempio pseudo-elementi di nidificazione div :: before :: before content: "; e più pseudo-elementi div :: before (3) content: "; che ovviamente aprirà molte più possibilità nella pratica del web design in futuro. Mentre vengono implementati nei browser correnti, aspettiamo pazientemente per ora.