::before
A ::after
pseudo-prvky v CSS umožňuje vložit obsah na stránce, aniž by museli být ve formátu HTML. I když konečný výsledek není ve skutečnosti v DOM, na stránce se objevuje, jako by byl, a v podstatě by vypadal takto:
div::before ( content: "before"; ) div::after ( content: "after"; )
before after
Jediné důvody, proč používat jeden nad druhým, jsou:
- Chcete, aby byl vygenerovaný obsah umístěn před obsahem prvku, pozičně.
::after
Obsah je také „po“ ve zdrojovém řádu, takže to bude umístit na vrcholu :: rozmyslí, jestli naskládaných na sebe přirozeně.
Všimněte si, že obsah je stále uvnitř prvku, na který se vztahují. Pojmenování má pocit, že by mohli přijít, víš, před nebo za prvkem, ale je to opravdu před nebo za jiným obsahem uvnitř.
Hodnota pro obsah může být:
- Řetězec:
content: "a string";
- speciální znaky musí být speciálně zakódovány jako entita unicode. Viz stránka glyfů. - Obrázek: content: url (/path/to/image.jpg.webp); - Obrázek je vložen v přesných rozměrech a nelze jej změnit. Protože věci jako přechody jsou ve skutečnosti obrázky, může být pseudoprvkem přechod.
- Nic: obsah: „“; - Užitečné pro clearfix a vkládání obrázků jako obrázků na pozadí (nastavte šířku a výšku a můžete dokonce změnit velikost s velikostí pozadí).
- Počítadlo:
content: counter(li);
- Opravdu užitečné pro stylování seznamů, dokud se neobjeví značka.
Všimněte si, že nemůžete vložit HTML (alespoň se vykreslí jako HTML). content: "";
: vs ::
Každý prohlížeč, který podporuje dvojitý dvojtečku (: :) Syntaxe CSS3 také podporuje pouze syntaxi (:), ale IE 8 podporuje pouze dvojtečku, proto se pro nejlepší podporu prohlížeče prozatím doporučuje použít pouze dvojtečku.
:: je novější formát určený k rozlišení pseudo obsahu od pseudo-selektorů. Pokud nepotřebujete podporu IE 8, neváhejte použít dvojtečku.
Příbuzný
- ::první řada
- ::první dopis
- Selektory pseudo tříd
Podpora prohlížeče
Malé problémy:
- Firefox 3.5 - neumožňuje absolutní umístění pseudo prvků.
- V Opera 9.2 se mezery v tomto pseudoelementu zobrazují vždy, jako by to byl
pre
text. - IE 8 na nich nepodporuje z-index
Chrome | Safari | Firefox | Opera | TJ | Android | iOS |
---|---|---|---|---|---|---|
2+ | 1,3+ | 3,5+ | 6+ | 8+ | Ano | Ano |