Usando il cursore seleziona questa frase. Notate come mentre selezionate il testo un colore di sfondo riempie lo spazio? È possibile modificare il colore di sfondo e il colore del testo selezionato in base allo stile ::selection
. Lo stile di questo pseudo elemento è ottimo per abbinare il testo selezionato dall'utente alla combinazione di colori dei tuoi siti.
p::-moz-selection ( color: red) p::selection ( color: red; )
Tieni presente che i doppi due punti sono necessari nella sintassi di questo pseudo elemento, nonostante gli altri pseudo elementi accettino un singolo due punti.
Come visto sopra, puoi modellare i ::selection
singoli elementi. Puoi anche applicare uno stile all'intera pagina trascinando lo pseudo elemento nudo nel tuo foglio di stile.
::-moz-selection ( background: yellow; ) ::selection ( background: yellow; )
Ci sono solo tre proprietà che ::selection
funzionano con:
color
background
(background-color
,background-image
)text-shadow
Vedi i test Pen :: selection di Chris Coyier (@chriscoyier) su CodePen.
Se provi a creare ::selection
uno stile con una proprietà che non è nell'elenco, quella proprietà verrà ignorata. Potrebbe essere complicato vedere background
in quell'elenco perché la proprietà renderà un colore solo quando viene utilizzata ::selection
e non renderà un'immagine di sfondo o una sfumatura.
Inoltre, non provare questo:
p::-moz-selection, p::selection ( color: red; )
Quando i browser trovano una parte di una selezione che non comprendono, rilasciano l'intera cosa, quindi questo fallirà tutto il tempo.
Uno degli usi più utili per ::selection
è disattivare un text-shadow
durante la selezione. A text-shadow
può entrare in conflitto con il colore di sfondo della selezione e rendere il testo difficile da leggere. Impostare text-shadow: none;
per rendere il testo chiaro e facile da leggere durante la selezione.
Vedere l'ombra del testo Pen :: selection di Chris Coyier (@chriscoyier) su CodePen.
Fantasia :: selezione
Accoppiato con Sass, o qualsiasi altro preprocessore, puoi creare effetti davvero fantastici con ::selection
. Seleziona il testo nella demo qui sotto:
Potresti notare che l'effetto non è così fluido in alcuni browser. Archiviamo quella demo sotto: cose che sono possibili, ma probabilmente solo per divertimento.
Un altro piccolo trucco stupido ma divertente è rivelare un'immagine attraverso il testo selezionato.
Supporto browser
Questi dati di supporto del browser provengono da Caniuse, che ha più dettagli. Un numero indica che il browser supporta la funzione a quella versione e successive.
Desktop
Cromo | Firefox | IE | Bordo | Safari |
---|---|---|---|---|
4 | 2 * | 9 | 12 | 3.1 |
Mobile / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | No |