CSS COMBINATORS SELECTORS

css3Ci sono quattro diversi combinators selectors nei CSS:

  1. descendant selector (space)
  2. child selector (>)
  3. adjacent sibling selector (+)
  4. general sibling selector (~)

DESCENDANT SELECTOR

Il descendant selector corrisponde a tutti gli elementi che sono discendenti di un elemento specificato. La figura mostra i paragrafi che sono i figli di un elemento div. Il  descendant selector  – tipicamente rappresentato da un singolo carattere spazio ( ) – combina due selettori in modo tale che gli elementi corrispondenti al secondo selettore siano selezionati se hanno un elemento antenato (genitore, genitore del genitore, genitore del genitore del genitore, ecc.) che corrisponde al primo selettore.

descendand selector

CHILD SELECTOR

Il child selector seleziona tutti gli elementi che sono figli di un elemento specificato. In questa figura, i blocchi con il colore verde sono i blocchi interessati dal child selector. Come possiamo vedere, c’è solo la selezione di quegli elementi di paragrafo che sono i figli diretti dell’elemento div. Il child selector  ( >) è posizionato tra due selettori CSS. Corrisponde solo a quegli elementi che corrispondono al secondo selettore che sono i figli diretti degli elementi che corrispondono al primo. Gli elementi discendenti più in basso nella gerarchia non corrispondono.

child selector

ADJACENT SIBLING SELECTOR

Il selettore adjacent sibling viene utilizzato per selezionare un elemento che si trova direttamente dopo un altro elemento specifico. Gli elementi di pari livello devono avere lo stesso elemento genitore e “adiacente” significa “seguire immediatamente. In questa figura, i blocchi con il colore verde sono i blocchi selezionati interessati dopo aver utilizzato il selettore adjacent sibling. C’è la selezione dei paragrafi che viene immediatamente dopo un altro elemento di paragrafo. Il selettore  adjacent sibling (pari livello adiacente) avente simbolo ( +) è posizionato tra due selettori CSS. Corrisponde solo a quegli elementi che corrispondono al secondo selettore che sono l’elemento fratello successivo del primo selettore.

Adjacent sibling selector

GENERAL SIBLING SELECTOR

Il general sibling selector seleziona tutti gli elementi che sono fratelli successivi di un elemento specificato. In questa figura, i blocchi con il colore verde sono i blocchi selezionati interessati dopo aver utilizzato il selettore general sibling. Se vuoi selezionare i fratelli di un elemento anche se non sono direttamente adiacenti, puoi usare questo combinatore ( ~). 

CSS PSEUDO CLASSES

Una pseudo-class viene utilizzata per definire uno stato speciale di un elemento. Ad esempio, può essere utilizzata per:

  • Dare uno stile a un elemento quando un utente ci passa sopra con il mouse
  • Dare uno stile diverso ai link visitati e non visitati
  • Dare uno stile quando un elemento ottiene il focus

CSS PSEUDO-ELEMENTS

Uno pseudo-element CSS viene utilizzato per definire lo stile di parti specificate di un elemento.

Ad esempio, può essere utilizzato per:

  • Definire lo stile della prima lettera, o linea, di un elemento
  • Inserire contenuto prima o dopo un elemento

CSS ATTRIBUTE SLECTORS

  • Il selettore [attribute] viene utilizzato per selezionare elementi con un attributo specifico.
  • [attribute=”value”] viene utilizzato per selezionare elementi con un attributo e un valore specificati.
  • [attribute~=”value”] viene utilizzato per selezionare elementi con un valore di attributo contenente una parola specificata.
  • [attribute|=”value”] viene utilizzato per selezionare elementi con l’attributo specificato a partire dal valore specificato. Nota: il valore deve essere una parola intera, da sola, come class=”top”, o seguita da un trattino (-), come class=”top-text”!
  • [attribute^=”value”] viene utilizzato per selezionare elementi il cui valore di attributo inizia con un valore specificato. Nota: il valore non deve essere una parola intera!
  • [attribute$=”value”] viene utilizzato per selezionare elementi il cui valore di attributo termina con un valore specificato. Nota: il valore non deve essere una parola intera!
  • [attribute*=”value”] viene utilizzato per selezionare elementi il cui valore di attributo contiene un valore specificato. Nota: il valore non deve essere una parola intera!

STYLING FORMS

I selettori di attributo possono essere utili per definire lo stile dei moduli senza classe o ID:

Copy to Clipboard
Copy to Clipboard

CSS :nth-child() Selector

Il selettore :nth-child(n) corrisponde a ogni elemento che è l’ennesimo figlio, indipendentemente dal tipo, del suo genitore. n può essere un numero, una parola chiave o una formula. Suggerimento: guarda il selettore :nth-of-type() per selezionare  l’elemento che è l’ennesimo figlio, di un tipo particolare, del suo genitore.
Copy to Clipboard

CSS :nth-last-child() Selector

Il selettore :nth-last-child(n) corrisponde a ogni elemento che è l’ennesimo figlio, indipendentemente dal tipo, del suo genitore, contando dall’ultimo figlio. n può essere un numero, una parola chiave o una formula. Suggerimento: guarda il selettore :nth-last-of-type() per selezionare l’elemento che è l’ennesimo figlio, di un tipo specificato, del suo genitore, contando dall’ultimo figlio.

Copy to Clipboard

CSS :nth-last-of-type() Selector

Il selettore :nth-last-of-type(n) corrisponde a ogni elemento che è l’ennesimo figlio, di un tipo particolare, del suo genitore, contando dall’ultimo figlio. n può essere un numero, una parola chiave o una formula. Suggerimento: guarda il selettore :nth-last-child() per selezionare l’elemento che è l’ennesimo figlio, indipendentemente dal tipo, del suo genitore, contando dall’ultimo figlio.

Copy to Clipboard

CSS :nth-of-type() Selector

Il selettore :nth-of-type(n) corrisponde a ogni elemento che è l’ennesimo figlio, di un tipo particolare, del suo genitore. n può essere un numero, una parola chiave o una formula. Suggerimento: guarda il selettore :nth-child() per selezionare l’elemento che è l’ennesimo figlio, indipendentemente dal tipo, del suo genitore.

Copy to Clipboard

LINK AI POST PRECEDENTI

PREVIOUS POST LINKS

LINK AL CODICE SU GITHUB

GITHUB