--- title: '::after (:after)' slug: 'Web/CSS/::after' tags: - CSS - Layout - Pseudo-element - Reference - Web translation_of: 'Web/CSS/::after' ---
En CSS, ::after
crea un pseudo-element que és l'últim fill de l'element seleccionat. Sovint s'utilitza per afegir contingut cosmètic a un element amb la propietat{{cssxref("content")}}. Està integrat per defecte.
/*
Afegeix una fletxa després d'enllaços*/ a::after { content: "
→"; }
{{csssyntax}}
CSS3 va introduir la notació de ::after
( amb dos caràcters de dos punts ) per distingir les pseudo-classes dels pseudo-elements. Els navegadors també accepten :after
, introduït en CSS2.
Els pseudo-elements generats per ::before
i ::after
estan continguts per la caixa de formatació de l'element i, per tant ::before
i ::after
no s'apliquen als elements reemplaçats com img
, or a elements br
.
Crearem dues classes: una per als paràgrafs boring i un per als exciting. Marcarem cada paràgraf afegint un pseudo-element al final del mateix.
<p class="boring-text">Here is some plain old boring text.</p> <p>Here is some normal text that is neither boring nor exciting.</p> <p class="exciting-text">Contributing to MDN is easy and fun. Just hit the edit button to add new live samples, or improve existing samples.</p>
.exciting-text::after { content: "<- now this *is* exciting!"; color: green; } .boring-text::after { content: "<- BORING!"; color: red; }
{{EmbedLiveSample('Simple_usage', 500, 150)}}
Podem donar estil de text o imatges en la propietat {{cssxref("content")}} gairebé de qualsevol manera que vulguem.
<span class="ribbon">Notice where the orange box is.</span>
.ribbon { background-color: #5BC8F7; } .ribbon::after { content: "Look at this orange box."; background-color: #FFBA10; border-color: black; border-style: dotted; }
{{EmbedLiveSample('Decorative_example', 450, 20)}}
El següent exemple mostra l'ús del pseudo-element ::after
en conjunció amb l'expressió CSS attr()
i un atribut de dades personalitzades data-descr
per crear un tooltip en pur CSS, similar al glossari. Feu clic en la vista prèvia en viu o vegeu aquest exemple en una pàgina apart.
<p>Here is the live example of the above code.<br /> We have some <span data-descr="collection of words and punctuation">text</span> here with a few <span data-descr="small popups which also hide again">tooltips</span>.<br /> Don't be shy, hover over to take a <span data-descr="not to be taken literally">look</span>. </p>
span[data-descr] { position: relative; text-decoration: underline; color: #00F; cursor: help; } span[data-descr]:hover::after { content: attr(data-descr); position: absolute; left: 0; top: 24px; min-width: 200px; border: 1px #aaaaaa solid; border-radius: 10px; background-color: #ffffcc; padding: 12px; color: #000000; font-size: 14px; z-index: 1; }
{{EmbedLiveSample('Tooltips', 450, 120)}}
Especificació | Estat | Comentari |
---|---|---|
{{SpecName('CSS4 Pseudo-Elements', '#selectordef-after', '::after')}} | {{Spec2('CSS4 Pseudo-Elements')}} | No hi ha canvis significatius en l'especificació anterior. |
{{Specname("CSS3 Transitions", "#animatable-properties", "transitions on pseudo-element properties")}} | {{Spec2("CSS3 Transitions")}} | Permet transicions en les propietats definides en els pseudo-elements. |
{{Specname("CSS3 Animations", "", "animations on pseudo-element properties")}} | {{Spec2("CSS3 Animations")}} | Permet animacions en les propietats definides en els pseudo-elements. |
{{SpecName('CSS3 Selectors', '#gen-content', '::after')}} | {{Spec2('CSS3 Selectors')}} | Introdueix la sintaxi de dos caràcters de dos punts . |
{{SpecName('CSS2.1', 'generate.html#before-after-content', '::after')}} | {{Spec2('CSS2.1')}} | Definició inicial, utilitzant la sintaxi d'un caràcter de dos punts. |
{{CompatibilityTable}}
Descripció | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
suport :after |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.0")}}[1] | 8.0 | {{CompatOpera("4")}} | 4.0 |
suport ::after |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.8")}}[1] | 9.0 | {{CompatOpera("7")}} | 4.0 |
Suport d'animacions i transicions | 26 | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("2.0")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Descripció | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
suport :after |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
suport ::after |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Suport d'animacions i transicions | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("4.0")}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
[1] Firefox anterior a la versió 3.5 només implementa la versió CSS 2.0 de :after
. No es permet {{cssxref("position")}}, {{cssxref("float")}}, list-style-*
i algunes propietats de pantalla. Firefox 3.5 elimina aquestes restriccions.
::after
se segueixen generant fins i tot si el valor de la propietat {{cssxref("content")}} està establert a normal
o none
. Segons les especificacions, no hauria de ser ({{bug(1387931)}}). Això s'ha solucionat en el nou motor CSS paral·lel de Firefox (també conegut com Quantum CSS o Stylo,
planificat per al seu llançament en Firefox 57).