content CSS propriété

Définition de la CSS content.

La propriété CSS content permet de spécifier en CSS un texte, une image ou des guillemets à insérer en tant que contenu Css. content est utilisée avec les pseudo-éléments ::before et ::after.

Exemple de syntaxe CSS content :
identifiant:after{
  content : open-quote;
}
identifiant:before{
  content : url("/img/icone/16x16/facebook.gif") " contenu ";
  /* url('data:image/.....) */
}
identifiant:before{
  content : " section " counter(nomducompteur);
}
identifiant:after{
  content : "(" attr(hreflang) ")";
}

La propriété de feuille de style content CSS peut prendre la valeur de :

  • none : aucun contenu n'est généré.
  • normal, met none pour les pseudo-éléments et .
  • un chaîne de caractères entre "" ou '', valeur vide autorisée.
  • url('url.gif') : une image. Les doubles ou simples quotes ne sont pas obligatoires sauf si, votre url comporte un espace. Vous pouvez mettre aussi, des images d'un autre format comme svg ou base64.
  • open-quote : ouvre les guillemets et l'affiche.
  • no-open-quote : ouvre les guillemets mais n'affiche rien.
  • close-quote : ferme les guillemets et l'affiche.
  • no-close-quote : ferme les guillemets mais n'affiche rien.
  • : compteur, utilisé pour les listes.
  • attr(nom_attribut) : affiche la valeur de l'attribut de l'élément spécifié par nom_attribut. Une chaîne vide est renvoyée s'il n'existe pas.
  • inherit : hérite de la propriété content de son parent (CSS2).

Le contenu inséré est un élément dit "élément remplacé anonyme" et comme n'importe quel élément il peut être "charté", vous pouvez par exemple modifier son type avec la propriété CSS , changer son type positionnement avec ou le mettre flottant avec , etc...

Tester si la propriété CSS content est interprétée par la navigateur en Javascript

Conditions d'application de la CSS content.

La propriété CSS content n'est utilisable qu'avec avec le pseudo-élément CSS ou .

La valeur est liée avec les propriétés CSS et .

Héritage des valeurs Css de content.

Le contenu inséré avec la propriété CSS content, hérite des propriétés de l'élément dans lequel il se trouve, à condition que ces dernières acceptent l'héritage. Par exemple, il héritera de la propriété CSS color, mais pas de la propriété CSS padding.

Problème d'interprétation de content en Css.

La propriété CSS content peut poser des problèmes d'interprétation notamment sur la forme des quotes.
La propriété de feuille de style content CSS est interprétée à partir d'Internet Explorer 8+.

Règles de syntaxes CSS pour content.

Guillemet dans la chaîne de caractères

Si votre chaîne de caractères est entre "" ou '' et que cette dernière comporte un guillemet de même type, vous devez mettre un antislash (//) devant chaque guillemet de la chaîne.

Exemple de content avec un guillemet de même type :
  content : 'cite:"l//'espace"';
  content : "cite://"l'espace//"";

Caractères accentués ou spéciaux mal interprétés

Si les caractères accentués ou spéciaux ne sont pas interprétés correctement, utilisez leur code hexadécimal pour le Css.

Gestion des quotes ou guillemets

Il faut savoir que suivant le navigateur les "quote" ou guillemets ne sont pas identiques :

  • « » pour le niveau un et ‹ › pour le niveau deux pour Internet Explorer,
  • “ ” pour le niveau un et ‘ ’ pour le niveau deux pour Firefox,
  • " " pour le niveau un et ' ' pour le niveau deux pour Chrome.
  • ...

Si vous ouvrez un guillemet et que vous ouvrez un second guillemet sans fermer le premier alors le second guillemet sera de niveau 2.

Pour afficher une fermeture de guillemets, il faut qu'il y ai une ouverture de guillemets correspondante. Par exemple si vous avez une ouverture de guillemets et deux fermetures de guillemets, le dernièr guillemet ne sera pas affiché.

propriété CSS content sur une balise IMG

Si vous utilisez la propriété Css content sur une balise le texte inséré sera visible que si l'image n'est pas affichée. Il faut le voir un texte alternatif, comme l'attribut alt.

Exemple de content sur balise IMG :
.imgalt{border:1px solid green}
.imgalt:before{ content:"before"}
.imgalt:after{ content:"after"}

Résultat :
Avec image existante :
alt
Avec image en erreur :
alt

Ce que vous devez voir :

Sachez cependant qu'a ce jour (09-2018) :

  • edge n'affiche pas les contents sur une image.
  • Firefox n'affiche pas le content sur une image de

Compatibilités navigateurs de la propriété content

Exemples et astuces CSS pour utiliser content

Mettre des sauts de ligne dans le content

Vous pouvez faire des sauts de ligne dans le texte du contenu en utilisant //00000A alias //A.

Exemple de content avec sauts de ligne :
identifiant:before{
  white-space : pre;
  content : "1//A 2//A 3//00000A";
}

Résultat :

Saut de ligne avec content

Ce que vous devez voir :

Espace après un code hexadécimal non interprété

L'espace après un code hexadécimal n'est pas pris en compte. Pour palier à ce problème, vous devez soit mettre un double espace soit un espace en code hexadécimal : //000020.

Exemple de content avec espace après un code hexadécimal :
identifiant:before{
  content : "//0000E0 la"; /* ne fonctionne pas */
  content : "//0000E0  la"; /* espace pris en compte */
  content : "//0000E0//000020 la"; /* espace pris en compte */
}

Résultat :

pêche aux espaces
pêche aux espaces
pêche aux espaces

Ce que vous devez voir :

Mettre des saut de ligne dans l'attribut pour l'affichage avec attr()

Si vous utiliser attr() de la propriété Css content, vous pouvez mettre des sauts de ligne qui seront interprétés à l'affichage du texte de l'attribut. Les sauts de ligne correspondent :

  • 

  • 

Vous devrez en plus ajouter la propriété vaec une valeur de type pre.

Exemple de saut de ligne dans la valeur affiché de l'attribut :
<style>
.sautdeligne:before{
    content:attr(data-attribut);
    white-space : pre;
}
</style>
<span data-attribut="Saut&#10;de&#x0A;ligne" class="sautdeligne">Texte dans balise</span>

Texte dans balise

Ce que vous devez voir :

Mettre des images base64 et svg dans content

Vous pouvez mettre des images au format svg. Pour cela vous devez mettre devant data:image/svg+xml;charset=UTF-8,

Exemple de code :
identifiant:before{   content:url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"/></svg>'); }

Vous pouvez mettre des images au format base64. Pour cela vous devez mettre devant data:image/png;base64,

Exemple de code :
identifiant:before{   content:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAAAu0lEQVR4Ae3UAQbCYByG8ecDdZmOUNUpCiBAQCpQ0A3CGEBK1CXWjaob7C3Dxmzb/m2Q7fcAzIt9n48aOlMcaY4JRivEOTXluBGywmCEUDyVzChqjMERRZ1Ycvi25IKijhj5KCMfox53lNGVPgaOAOUU4KhsgwpaU0q2/mUo8c75VHEvKlHpkBobav2pNfazw6aGnoZ71NZTgwUqaIGBh3LyMNoRolQhe+yYpF7uB0N+NmDGlg1zBnRq+gDQuJiU1RQ6IAAAAABJRU5ErkJggg=='); }

Votre avis sur la définition content en CSS

Votez pour la définition CSS content

  • 1/5
  • 2/5
  • 3/5
  • 4/5
  • 5/5

Avis sur la page https://www.zonecss.fr/proprietes-css/content-css.html Votes: 4.2 / 5 - 33 votes
Cliquez sur une étoile pour voter.