Pseudo-classi
Le pseudo-classi consentono di selezionare stati o posizioni specifici di un elemento. Ad esempio, :hover
seleziona l'elemento quando il puntatore del mouse si trova sopra di esso, :focus
seleziona l'elemento quando è selezionato o è attivo, :nth-child()
seleziona un elemento figlio specifico in un gruppo.
Esempi:
/* Select all links when hovered over and change the text color */
a:hover {
color: red;
}
/* Select the <input> element when it is focused and change the border */
input:focus {
border: 2px solid blue;
}
/* Select the second element in a group of <li> elements and change the text color */
li:nth-child(2) {
color: green;
}
Pseudo-elementi
Gli pseudo-elementi consentono di creare elementi virtuali per personalizzare un elemento esistente.
Ad esempio, ::before
crea ::after
elementi prima e dopo un elemento ::first-line
e ::first-letter
seleziona la prima riga e la prima lettera di un elemento.
Esempi:
/* Add content before each <p> element and style it */
p::before {
content: ">> ";
font-weight: bold;
color: gray;
}
/* Style the first letter of <h1> element */
h1::first-letter {
font-size: 2em;
font-weight: bold;
color: red;
}
Combinatori
I combinatori consentono di combinare i selettori per selezionare gli elementi in base alla loro relazione. Ad esempio, element1 element2
selects element2
inside element1
, element1 > element2
seleziona gli elementi figli diretti di element1
, element1 + element2
selects element2
immediatamente dopo element1
.
Esempi:
/* Select <span> elements inside an element with class "container" */
.container span {
color: purple;
}
/* Select <li> elements that are direct children of <ul> */
ul > li {
list-style-type: square;
color: blue;
}
Selettori di attributi
I selettori di attributi ti consentono di selezionare gli elementi in base al valore dei loro attributi. Ad esempio, [attribute]
seleziona gli elementi con l'attributo attribute
, [attribute=value]
seleziona gli elementi con l'attributo attribute
uguale a value
, [attribute^=value]
seleziona gli elementi con l'attributo attribute
che inizia con value
.
Esempi:
/* Select all elements with the attribute data-type */
[data-type] {
font-weight: bold;
color: orange;
}
/* Select all <a> elements with the href attribute starting with "https://" */
a[href^="https://"] {
color: blue;
text-decoration: underline;
}
:not()
selettore
Il selettore consente di selezionare elementi che non corrispondono a un selettore specifico. Ad esempio, seleziona gli elementi che non hanno la classe, seleziona gli elementi che non hanno l'ID. :not()
:not(.class)
class
:not(#id)
id
Esempi:
/* Select all <div> elements that do not have the class "hidden" */
div:not(.hidden) {
display: block;
background-color: lightgray;
}
/* Select all <input> elements that do not have the ID "email-input" */
input:not(#email-input) {
border: 1px solid gray;
}
Questi esempi dimostrano la selezione avanzata degli elementi nei CSS. Puoi personalizzare e applicare queste tecniche allo stile e personalizzare gli elementi della tua pagina web come desideri.