CSS - Pseudo classi
Le pseudo-classi CSS vengono utilizzate per aggiungere effetti speciali ad alcuni selettori. Non è necessario utilizzare JavaScript o qualsiasi altro script per utilizzare questi effetti. Una semplice sintassi delle pseudo-classi è la seguente:
selector:pseudo-class {property: value}
Le classi CSS possono essere utilizzate anche con pseudo-classi -
selector.class:pseudo-class {property: value}
Le pseudo-classi più comunemente usate sono le seguenti:
Sr.No. | Valore e descrizione |
---|---|
1 | :link Usa questa classe per aggiungere uno stile speciale a un collegamento non visitato. |
2 | :visited Usa questa classe per aggiungere uno stile speciale a un link visitato. |
3 | :hover Usa questa classe per aggiungere uno stile speciale a un elemento quando passi il mouse su di esso. |
4 | :active Usa questa classe per aggiungere uno stile speciale a un elemento attivo. |
5 | :focus Usa questa classe per aggiungere uno stile speciale a un elemento mentre l'elemento è attivo. |
6 | :first-child Usa questa classe per aggiungere uno stile speciale a un elemento che è il primo figlio di un altro elemento. |
7 | :lang Utilizzare questa classe per specificare una lingua da utilizzare in un elemento specificato. |
Mentre si definiscono le pseudo-classi in un blocco <style> ... </style>, è necessario notare i seguenti punti:
a: hover DEVE venire dopo a: link e a: visitati nella definizione CSS per essere efficaci.
a: active DEVE venire dopo a: hover nella definizione CSS per essere efficace.
I nomi delle pseudo classi non fanno distinzione tra maiuscole e minuscole.
Le pseudo-classi sono diverse dalle classi CSS ma possono essere combinate.
La pseudo-classe: link
L'esempio seguente mostra come utilizzare la classe : link per impostare il colore del collegamento. I valori possibili potrebbero essere qualsiasi nome di colore in qualsiasi formato valido.
<html>
<head>
<style type = "text/css">
a:link {color:#000000}
</style>
</head>
<body>
<a href = "">Black Link</a>
</body>
</html>
Produrrà il seguente collegamento nero:
La pseudo-classe: visitata
Il seguente è l'esempio che dimostra come utilizzare la classe : visiting per impostare il colore dei collegamenti visitati. I valori possibili potrebbero essere qualsiasi nome di colore in qualsiasi formato valido.
<html>
<head>
<style type = "text/css">
a:visited {color: #006600}
</style>
</head>
<body>
<a href = "">Click this link</a>
</body>
</html>
Questo produrrà il seguente collegamento. Dopo aver fatto clic su questo collegamento, cambierà il suo colore in verde.
La pseudo-classe: hover
L'esempio seguente mostra come utilizzare la classe : hover per cambiare il colore dei collegamenti quando portiamo il puntatore del mouse su quel collegamento. I valori possibili potrebbero essere qualsiasi nome di colore in qualsiasi formato valido.
<html>
<head>
<style type = "text/css">
a:hover {color: #FFCC00}
</style>
</head>
<body>
<a href = "">Bring Mouse Here</a>
</body>
</html>
Produrrà il seguente collegamento. Ora porta il mouse su questo collegamento e vedrai che cambia il suo colore in giallo.
La: pseudo-classe attiva
L'esempio seguente mostra come utilizzare la classe : active per modificare il colore dei collegamenti attivi. I valori possibili potrebbero essere qualsiasi nome di colore in qualsiasi formato valido.
<html>
<head>
<style type = "text/css">
a:active {color: #FF00CC}
</style>
</head>
<body>
<a href = "">Click This Link</a>
</body>
</html>
Produrrà il seguente collegamento. Quando un utente fa clic su di esso, il colore diventa rosa.
La pseudo-classe: focus
L'esempio seguente mostra come utilizzare la classe : focus per modificare il colore dei collegamenti focalizzati. I valori possibili potrebbero essere qualsiasi nome di colore in qualsiasi formato valido.
<html>
<head>
<style type = "text/css">
a:focus {color: #0000FF}
</style>
</head>
<body>
<a href = "">Click this Link</a>
</body>
</html>
Produrrà il seguente collegamento. Quando questo collegamento viene messo a fuoco, il suo colore diventa arancione. Il colore cambia quando perde la messa a fuoco.
La pseudo-classe: first-child
La pseudo-classe : first-child corrisponde a un elemento specificato che è il primo figlio di un altro elemento e aggiunge uno stile speciale a quell'elemento che è il primo figlio di qualche altro elemento.
Per fare: il lavoro del primo figlio in IE <! DOCTYPE> deve essere dichiarato all'inizio del documento.
Ad esempio, per far rientrare il primo paragrafo di tutti gli elementi <div>, potresti usare questa definizione:
<html>
<head>
<style type = "text/css">
div > p:first-child {
text-indent: 25px;
}
</style>
</head>
<body>
<div>
<p>First paragraph in div. This paragraph will be indented</p>
<p>Second paragraph in div. This paragraph will not be indented</p>
</div>
<p>But it will not match the paragraph in this HTML:</p>
<div>
<h3>Heading</h3>
<p>The first paragraph inside the div. This paragraph will not be effected.</p>
</div>
</body>
</html>
Produrrà il seguente risultato:
La pseudo-classe: lang
La pseudo-classe del linguaggio : lang , consente di costruire selettori basati sull'impostazione della lingua per tag specifici.
Questa classe è utile nei documenti che devono fare riferimento a più lingue che hanno convenzioni diverse per determinati costrutti linguistici. Ad esempio, la lingua francese utilizza in genere le parentesi angolari (<e>) per le virgolette, mentre la lingua inglese utilizza le virgolette ("e").
In un documento che deve affrontare questa differenza, puoi usare la pseudo-classe: lang per modificare le virgolette in modo appropriato. Il codice seguente modifica il tag <blockquote> in modo appropriato per la lingua utilizzata:
<html>
<head>
<style type = "text/css">
/* Two levels of quotes for two languages*/
:lang(en) { quotes: '"' '"' "'" "'"; }
:lang(fr) { quotes: "<<" ">>" "<" ">"; }
</style>
</head>
<body>
<p>...<q lang = "fr">A quote in a paragraph</q>...</p>
</body>
</html>
I selettori: lang verranno applicati a tutti gli elementi nel documento. Tuttavia, non tutti gli elementi utilizzano la proprietà quotes, quindi l'effetto sarà trasparente per la maggior parte degli elementi.
Produrrà il seguente risultato: