Pseudoprvky CSS
Co jsou to pseudoprvky?
Pseudoprvek CSS se používá ke stylování specifikovaných částí prvku.
Lze jej například použít k:
- Upravte styl prvního písmene nebo řádku prvku
- Vložte obsah před nebo za obsah prvku
Syntax
Syntaxe pseudoprvků:
selector::pseudo-element {
property: value;
}
Pseudoprvek ::první řady
Pseudoprvek ::first-line
se používá k přidání speciálního stylu do prvního řádku textu.
Následující příklad formátuje první řádek textu ve všech prvcích <p>:
Příklad
p::first-line
{
color: #ff0000;
font-variant: small-caps;
}
Poznámka: Pseudoprvek ::first-line
lze použít pouze na prvky na úrovni bloku.
::first-line
Na pseudoprvek se vztahují následující vlastnosti :
- vlastnosti písma
- barevné vlastnosti
- vlastnosti pozadí
- mezery mezi slovy
- mezery mezi písmeny
- text-dekorace
- svisle zarovnat
- textová transformace
- výška řádku
- Průhledná
Všimněte si zápisu dvojitou dvojtečkou – ::first-line
versus
:first-line
Dvojtečka nahradila zápis pseudoprvků v CSS3 jednou dvojtečkou. Toto byl pokus od W3C rozlišovat mezi pseudo-třídami
a pseudo-prvky .
Syntaxe s jednou dvojtečkou byla použita pro pseudotřídy i pseudoprvky v CSS2 a CSS1.
Kvůli zpětné kompatibilitě je pro pseudoprvky CSS2 a CSS1 přijatelná syntaxe s jednou dvojtečkou.
Pseudoprvek ::prvního písmene
Pseudoprvek ::first-letter
se používá k přidání speciálního stylu k prvnímu písmenu textu.
Následující příklad formátuje první písmeno textu ve všech prvcích <p>:
Příklad
p::first-letter
{
color: #ff0000;
font-size: xx-large;
}
Poznámka: Pseudoprvek ::first-letter
lze použít pouze na prvky na úrovni bloku.
Následující vlastnosti platí pro pseudoelement ::first-letter:
- vlastnosti písma
- barevné vlastnosti
- vlastnosti pozadí
- vlastnosti okrajů
- vlastnosti vycpávky
- hraniční vlastnosti
- text-dekorace
- zarovnat svisle (pouze pokud "float" je "none")
- textová transformace
- výška řádku
- plovák
- Průhledná
Pseudoprvky a HTML třídy
Pseudoprvky lze kombinovat s třídami HTML:
Příklad
p.intro::first-letter {
color: #ff0000;
font-size: 200%;
}
Výše uvedený příklad zobrazí první písmeno odstavců s class="intro", červeně a ve větší velikosti.
Více pseudoprvků
Několik pseudoprvků lze také kombinovat.
V následujícím příkladu bude první písmeno odstavce červené s xx velkým písmem. Zbytek prvního řádku bude modrý a napsán malými písmeny. Zbytek odstavce bude mít výchozí velikost a barvu písma:
Příklad
p::first-letter
{
color: #ff0000;
font-size: xx-large;
}
p::first-line
{
color: #0000ff;
font-variant: small-caps;
}
CSS – The ::before Pseudo-element
Pseudoprvek ::before
lze použít k vložení nějakého obsahu před obsah prvku.
Následující příklad vloží obrázek před obsah každého prvku <h1>:
Příklad
h1::before
{
content: url(smiley.gif);
}
CSS – The ::after Pseudo-element
Pseudoprvek ::after
lze použít k vložení nějakého obsahu za obsah prvku.
Následující příklad vloží obrázek za obsah každého prvku <h1>:
Příklad
h1::after
{
content: url(smiley.gif);
}
CSS – Pseudoprvek ::markeru
Pseudoprvek ::marker
vybírá značky položek seznamu.
Následující příklad stylizuje značky položek seznamu:
Příklad
::marker {
color: red;
font-size: 23px;
}
CSS – Pseudoprvek ::selection
Pseudoprvek ::selection
odpovídá části prvku, která je vybrána uživatelem.
Následující vlastnosti CSS lze použít na ::selection
:
color
,
background
, cursor
a outline
.
Následující příklad změní vybraný text na červený na žlutém pozadí:
Příklad
::selection {
color: red;
background: yellow;
}
Všechny Pseudo prvky CSS
Selector | Example | Example description |
---|---|---|
::after | p::after | Insert something after the content of each <p> element |
::before | p::before | Insert something before the content of each <p> element |
::first-letter | p::first-letter | Selects the first letter of each <p> element |
::first-line | p::first-line | Selects the first line of each <p> element |
::marker | ::marker | Selects the markers of list items |
::selection | p::selection | Selects the portion of an element that is selected by a user |
Všechny Pseudo třídy CSS
Selector | Example | Example description |
---|---|---|
:active | a:active | Selects the active link |
:checked | input:checked | Selects every checked <input> element |
:disabled | input:disabled | Selects every disabled <input> element |
:empty | p:empty | Selects every <p> element that has no children |
:enabled | input:enabled | Selects every enabled <input> element |
:first-child | p:first-child | Selects every <p> elements that is the first child of its parent |
:first-of-type | p:first-of-type | Selects every <p> element that is the first <p> element of its parent |
:focus | input:focus | Selects the <input> element that has focus |
:hover | a:hover | Selects links on mouse over |
:in-range | input:in-range | Selects <input> elements with a value within a specified range |
:invalid | input:invalid | Selects all <input> elements with an invalid value |
:lang(language) | p:lang(it) | Selects every <p> element with a lang attribute value starting with "it" |
:last-child | p:last-child | Selects every <p> elements that is the last child of its parent |
:last-of-type | p:last-of-type | Selects every <p> element that is the last <p> element of its parent |
:link | a:link | Selects all unvisited links |
:not(selector) | :not(p) | Selects every element that is not a <p> element |
:nth-child(n) | p:nth-child(2) | Selects every <p> element that is the second child of its parent |
:nth-last-child(n) | p:nth-last-child(2) | Selects every <p> element that is the second child of its parent, counting from the last child |
:nth-last-of-type(n) | p:nth-last-of-type(2) | Selects every <p> element that is the second <p> element of its parent, counting from the last child |
:nth-of-type(n) | p:nth-of-type(2) | Selects every <p> element that is the second <p> element of its parent |
:only-of-type | p:only-of-type | Selects every <p> element that is the only <p> element of its parent |
:only-child | p:only-child | Selects every <p> element that is the only child of its parent |
:optional | input:optional | Selects <input> elements with no "required" attribute |
:out-of-range | input:out-of-range | Selects <input> elements with a value outside a specified range |
:read-only | input:read-only | Selects <input> elements with a "readonly" attribute specified |
:read-write | input:read-write | Selects <input> elements with no "readonly" attribute |
:required | input:required | Selects <input> elements with a "required" attribute specified |
:root | root | Selects the document's root element |
:target | #news:target | Selects the current active #news element (clicked on a URL containing that anchor name) |
:valid | input:valid | Selects all <input> elements with a valid value |
:visited | a:visited | Selects all visited links |