En pseudo-klasse bruges til at definere en speciel tilstand af et element.
Det kan for eksempel bruges til at:
Style et element, når en bruger bevæger musen hen over det
Stil besøgte og ubesøgte links forskelligt
Style et element, når det får fokus
Mouse Over Me
Syntaksen for pseudoklasser:
selector:pseudo-class {
property: value;
}
Links kan vises på forskellige måder:
/* unvisited link */
a:link {
color: #FF0000;
}
/* visited
link */
a:visited {
color: #00FF00;
}
/* mouse over link */
a:hover {
color: #FF00FF;
}
/* selected link */
a:active {
color: #0000FF;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
/* unvisited link */
a:link {
color: red;
}
/* visited link */
a:visited {
color: green;
}
/* mouse over link */
a:hover {
color: hotpink;
}
/* selected link */
a:active {
color: blue;
}
</style>
</head>
<body>
<h2>Styling a link depending on state</h2>
<p><b><a href="default.asp" target="_blank">This is a link</a></b></p>
<p><b>Note:</b> a:hover MUST come after a:link and a:visited in the CSS definition in order to be effective.</p>
<p><b>Note:</b> a:active MUST come after a:hover in the CSS definition in order to be effective.</p>
</body>
</html>
Bemærk: a:hover
SKAL komme efter a:link
og a:visited
i CSS-definitionen for at være effektiv! a:active
SKAL komme efter a:hover
i CSS-definitionen for at være effektiv! Pseudoklassenavne skelner ikke mellem store og små bogstaver.
Pseudo-klasser kan kombineres med HTML-klasser:
Når du holder markøren over linket i eksemplet, skifter det farve:
a.highlight:hover {
color: #ff0000;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
a.highlight:hover {
color: #ff0000;
font-size: 22px;
}
</style>
</head>
<body>
<h2>Pseudo-classes and HTML Classes</h2>
<p>When you hover over the first link below, it will change color and font size:</p>
<p><a class="highlight" href="css_syntax.asp">CSS Syntax</a></p>
<p><a href="default.asp">CSS Tutorial</a></p>
</body>
</html>
Et eksempel på brug af :hover
pseudoklassen på et <div>-element:
div:hover {
background-color: blue;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
div {
background-color: green;
color: white;
padding: 25px;
text-align: center;
}
div:hover {
background-color: blue;
}
</style>
</head>
<body>
<p>Mouse over the div element below to change its background color:</p>
<div>Mouse Over Me</div>
</body>
</html>
Hold markøren over et <div>-element for at vise et <p>-element (som et værktøjstip):
Tada! Her er jeg!
p {
display: none;
background-color: yellow;
padding: 20px;
}
div:hover p {
display: block;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
p {
display: none;
background-color: yellow;
padding: 20px;
}
div:hover p {
display: block;
}
</style>
</head>
<body>
<div>Hover over this div element to show the p element
<p>Tada! Here I am!</p>
</div>
</body>
</html>
:first-child
pseudoklassen matcher et specificeret element, der er det første underordnede af et andet element.
I det følgende eksempel matcher vælgeren ethvert <p>-element, der er det første underordnede af ethvert element:
p:first-child
{
color: blue;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
p:first-child {
color: blue;
}
</style>
</head>
<body>
<p>This is some text.</p>
<p>This is some text.</p>
<div>
<p>This is some text.</p>
<p>This is some text.</p>
</div>
</body>
</html>
I det følgende eksempel matcher vælgeren det første <i>-element i alle <p>-elementer:
p i:first-child
{
color: blue;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
p i:first-child {
color: blue;
}
</style>
</head>
<body>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
</body>
</html>
I det følgende eksempel matcher vælgeren alle <i>-elementer i <p>-elementer, der er det første underordnede af et andet element:
p:first-child i
{
color: blue;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
p:first-child i {
color: blue;
}
</style>
</head>
<body>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<div>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
<p>I am a <i>strong</i> person. I am a <i>strong</i> person.</p>
</div>
</body>
</html>
:lang
pseudoklassen giver dig mulighed for at definere specielle regler for forskellige sprog.
I eksemplet nedenfor definerer :lang
anførselstegnene for -elementer med lang="no":
<html>
<head>
<style>
q:lang(no) {
quotes: "~" "~";
}
</style>
</head>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q>
Some text.</p>
</body>
</html>
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
q:lang(no) {
quotes: "~" "~";
}
</style>
</head>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q> Some text.</p>
<p>In this example, :lang defines the quotation marks for q elements with lang="no":</p>
</body>
</html>
Tilføj forskellige stilarter til hyperlinks
<!DOCTYPE html>
<html>
<head>
<style>
a.one:link {color:#ff0000;}
a.one:visited {color:#0000ff;}
a.one:hover {color:#ffcc00;}
a.two:link {color:#ff0000;}
a.two:visited {color:#0000ff;}
a.two:hover {font-size:150%;}
a.three:link {color:#ff0000;}
a.three:visited {color:#0000ff;}
a.three:hover {background:#66ff66;}
a.four:link {color:#ff0000;}
a.four:visited {color:#0000ff;}
a.four:hover {font-family:monospace;}
a.five:link {color:#ff0000;text-decoration:none;}
a.five:visited {color:#0000ff;text-decoration:none;}
a.five:hover {text-decoration:underline;}
</style>
</head>
<body>
<h2>Styling Links</h2>
<p>Mouse over the links and watch them change layout:</p>
<p><b><a class="one" href="default.asp" target="_blank">This link changes color</a></b></p>
<p><b><a class="two" href="default.asp" target="_blank">This link changes font-size</a></b></p>
<p><b><a class="three" href="default.asp" target="_blank">This link changes background-color</a></b></p>
<p><b><a class="four" href="default.asp" target="_blank">This link changes font-family</a></b></p>
<p><b><a class="five" href="default.asp" target="_blank">This link changes text-decoration</a></b></p>
</body>
</html>
Brug af :fokus
<!DOCTYPE html>
<html>
<head>
<style>
input:focus {
background-color: yellow;
}
</style>
</head>
<body>
<form action="/action_page.php" method="get">
First name: <input type="text" name="fname"><br><br>
Last name: <input type="text" name="lname"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
Eksempel:
a:active
Eksempelbeskrivelse:
Vælger det aktive link
Eksempel:
input:checked
Eksempelbeskrivelse:
Vælger hvert markeret <input>-element
Eksempel:
input:disabled
Eksempelbeskrivelse:
Vælger alle deaktiverede <input>-elementer
Eksempel:
p:empty
Eksempelbeskrivelse:
Vælger hvert <p>-element, der ikke har underordnede
Eksempel:
input:enabled
Eksempelbeskrivelse:
Vælger alle aktiverede <input>-elementer
Eksempel:
p:first-child
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det første underordnede af dets overordnede
Eksempel:
p:first-of-type
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det første <p>-element i dets overordnede element
Eksempel:
input:focus
Eksempelbeskrivelse:
Vælger <input>-elementet, der har fokus
Eksempel:
a:hover
Eksempelbeskrivelse:
Vælger links på musen over
Eksempel:
input:in-range
Eksempelbeskrivelse:
Vælger <input>-elementer med en værdi inden for et specificeret område
Eksempel:
input:invalid
Eksempelbeskrivelse:
Vælger alle <input>-elementer med en ugyldig værdi
Eksempel:
p:lang(it)
Eksempelbeskrivelse:
Vælger hvert <p>-element med en lang-attributværdi, der starter med "it"
Eksempel:
p:last-child
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det sidste underordnede af dets overordnede
Eksempel:
p:last-of-type
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det sidste <p>-element i dets overordnede element
Eksempel:
a:link
Eksempelbeskrivelse:
Vælger alle ubesøgte links
Eksempel:
:not(p)
Eksempelbeskrivelse:
Vælger hvert element, der ikke er et <p>-element
Eksempel:
p:nth-child(2)
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det andet underordnede af dets overordnede
Eksempel:
p:nth-last-child(2)
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det andet underordnede underordnede element, tæller fra det sidste underordnede element
Eksempel:
p:nth-last-of-type(2)
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det andet <p>-element i dets overordnede element, tæller fra det sidste underordnede element
Eksempel:
p:nth-of-type(2)
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det andet <p>-element i dets overordnede element
Eksempel:
p:only-of-type
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det eneste <p>-element i dets overordnede element
Eksempel:
p:only-child
Eksempelbeskrivelse:
Vælger hvert <p>-element, der er det eneste underordnede til dets forælder
Eksempel:
input:optional
Eksempelbeskrivelse:
Vælger <input>-elementer uden "påkrævet" attribut
Eksempel:
input:out-of-range
Eksempelbeskrivelse:
Vælger <input>-elementer med en værdi uden for et specificeret interval
Eksempel:
input:read-only
Eksempelbeskrivelse:
Vælger <input>-elementer med en "skrivebeskyttet"-attribut angivet
Eksempel:
input:read-write
Eksempelbeskrivelse:
Vælger <input>-elementer uden "skrivebeskyttet"-attribut
Eksempel:
input:required
Eksempelbeskrivelse:
Vælger <input>-elementer med en specificeret "påkrævet" attribut
Eksempel:
root
Eksempelbeskrivelse:
Vælger dokumentets rodelement
Eksempel:
#news:target
Eksempelbeskrivelse:
Vælger det aktuelle aktive #nyhedselement (klikket på en URL, der indeholder det pågældende ankernavn)
Eksempel:
input:valid
Eksempelbeskrivelse:
Vælger alle <input>-elementer med en gyldig værdi
Eksempel:
a:visited
Eksempelbeskrivelse:
Vælger alle besøgte links
Eksempel:
p::after
Eksempelbeskrivelse:
Indsæt indhold efter hvert <p>-element
Eksempel:
p::before
Eksempelbeskrivelse:
Indsæt indhold før hvert <p>-element
Eksempel:
p::first-letter
Eksempelbeskrivelse:
Vælger det første bogstav i hvert <p>-element
Eksempel:
p::first-line
Eksempelbeskrivelse:
Vælger den første linje i hvert <p>-element
Eksempel:
::marker
Eksempelbeskrivelse:
Vælger markørerne for listeelementer
Eksempel:
p::selection
Eksempelbeskrivelse:
Vælger den del af et element, der er valgt af en bruger