--- 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).