Tutoriel CSS

CSS ACCUEIL Présentation CSS Syntaxe CSS Sélecteurs CSS CSS Comment faire Commentaires CSS Couleurs CSS Arrière-plans CSS Bordures CSS Marges CSS Rembourrage CSS CSS Hauteur/Largeur Modèle de boîte CSS Aperçu CSS Texte CSS Polices CSS Icônes CSS Liens CSS Listes CSS CSS Tables Affichage CSS CSS Max-width Poste CSS Index Z CSS Débordement CSS Flottant CSS Bloc en ligne CSS Alignement CSS Combinateurs CSS Pseudo-classe CSS Pseudo-élément CSS Opacité CSS Barre de navigation CSS Listes déroulantes CSS Galerie d'images CSS Sprites d'image CSS Sélecteurs d'attributs CSS Formulaires CSS Compteurs CSS Mise en page du site Web CSS Unités CSS Spécificité CSS CSS !important Fonctions mathématiques CSS

CSS avancé

Coins arrondis CSS Images de bordure CSS Arrière-plans CSS Couleurs CSS Mots-clés de couleur CSS Dégradés CSS Ombres CSS Effets de texte CSS Polices Web CSS Transformations CSS 2D Transformations 3D CSS Transitions CSS Animation CSS Info-bulles CSS CSS Style Images Réflexion d'image CSS Ajustement d'objet CSS Position d'objet CSS Masquage CSS Boutons CSS Pagination CSS CSS plusieurs colonnes Interface utilisateur CSS Variables CSS Dimensionnement des boîtes CSS Requêtes média CSS Exemples CSS MQ Boîte flexible CSS

CSS réactif

RWD Introduction Fenêtre RWD Affichage de la grille RWD Requêtes multimédia RWD Images RWD Vidéos RWD Cadres RWD Modèles RWD

Grille CSS

Grille d'introduction Conteneur de grille Élément de grille

CSS SASS

Tutoriel SASS

Exemples CSS

Modèles CSS Exemples CSS CSS Quiz Exercices CSS Certificat CSS

Références CSS

Référence CSS Sélecteurs CSS Fonctions CSS Audit de référence CSS Polices sécurisées pour le Web CSS CSS animable Unités CSS Convertisseur CSS PX-EM Couleurs CSS Valeurs de couleur CSS Valeurs CSS par défaut Prise en charge du navigateur CSS

Pseudo-éléments CSS


Que sont les pseudo-éléments ?

Un pseudo-élément CSS est utilisé pour styliser des parties spécifiées d'un élément.

Par exemple, il peut être utilisé pour :

  • Style de la première lettre, ou ligne, d'un élément
  • Insérer du contenu avant ou après le contenu d'un élément

Syntaxe

La syntaxe des pseudo-éléments :

selector::pseudo-element {
  property: value;
}

Le pseudo-élément ::first-line

Le ::first-linepseudo-élément est utilisé pour ajouter un style spécial à la première ligne d'un texte.

L'exemple suivant met en forme la première ligne du texte dans tous les éléments <p> :

Exemple 

p::first-line {
  color: #ff0000;
  font-variant: small-caps;
}

Remarque : Le ::first-linepseudo-élément ne peut être appliqué qu'aux éléments de niveau bloc.

Les propriétés suivantes s'appliquent au ::first-line pseudo-élément :

  • propriétés de la police
  • propriétés de couleur
  • propriétés d'arrière-plan
  • espacement des mots
  • l'espacement des lettres
  • texte-décoration
  • alignement vertical
  • transformation de texte
  • hauteur de la ligne
  • dégager

Remarquez la notation double-virgule - ::first-line versus :first-line

La notation double-virgule a remplacé la notation simple-virgule pour les pseudo-éléments dans CSS3. Il s'agissait d'une tentative du W3C de faire la distinction entre les pseudo-classes et les pseudo-éléments .

La syntaxe à deux points a été utilisée à la fois pour les pseudo-classes et les pseudo-éléments dans CSS2 et CSS1.

Pour des raisons de compatibilité descendante, la syntaxe à deux-points est acceptable pour les pseudo-éléments CSS2 et CSS1.



Le pseudo-élément ::first-letter

Le ::first-letterpseudo-élément est utilisé pour ajouter un style particulier à la première lettre d'un texte.

L'exemple suivant met en forme la première lettre du texte dans tous les éléments <p> : 

Exemple

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

Remarque : Le ::first-letterpseudo-élément ne peut être appliqué qu'aux éléments de niveau bloc.

Les propriétés suivantes s'appliquent au pseudo-élément ::first-letter : 

  • propriétés de la police
  • propriétés de couleur 
  • propriétés d'arrière-plan
  • propriétés de la marge
  • propriétés de rembourrage
  • propriétés de bordure
  • texte-décoration
  • vertical-align (seulement si "float" vaut "none")
  • transformation de texte
  • hauteur de la ligne
  • flotter
  • dégager

Pseudo-éléments et classes HTML

Les pseudo-éléments peuvent être combinés avec des classes HTML : 

Exemple

p.intro::first-letter {
  color: #ff0000;
  font-size: 200%;
}

L'exemple ci-dessus affichera la première lettre des paragraphes avec class="intro", en rouge et dans une taille plus grande.


Pseudo-éléments multiples

Plusieurs pseudo-éléments peuvent également être combinés.

Dans l'exemple suivant, la première lettre d'un paragraphe sera en rouge, dans une taille de police xx-large. Le reste de la première ligne sera bleu et en petites majuscules. Le reste du paragraphe aura la taille et la couleur de police par défaut :

Exemple

p::first-letter {
  color: #ff0000;
  font-size: xx-large;
}

p::first-line {
  color: #0000ff;
  font-variant: small-caps;
}

CSS - Le pseudo-élément ::before

Le ::beforepseudo-élément peut être utilisé pour insérer du contenu avant le contenu d'un élément.

L'exemple suivant insère une image avant le contenu de chaque élément <h1> :

Exemple

h1::before {
  content: url(smiley.gif);
}

CSS - Le pseudo-élément ::after

Le ::afterpseudo-élément peut être utilisé pour insérer du contenu après le contenu d'un élément.

L'exemple suivant insère une image après le contenu de chaque élément <h1> :

Exemple

h1::after {
  content: url(smiley.gif);
}

CSS - Le pseudo-élément ::marker

Le ::markerpseudo-élément sélectionne les marqueurs des éléments de la liste.

L'exemple suivant stylise les marqueurs des éléments de liste :

Exemple

::marker {
  color: red;
  font-size: 23px;
}

CSS - Le pseudo-élément ::selection

Le ::selectionpseudo-élément correspond à la partie d'un élément qui est sélectionné par un utilisateur.

Les propriétés CSS suivantes peuvent être appliquées à ::selection: color, background, cursoret outline.

L'exemple suivant rend le texte sélectionné rouge sur fond jaune :

Exemple

::selection {
  color: red;
  background: yellow;
}

Testez-vous avec des exercices

Exercer:

Définissez la couleur d'arrière-plan sur le rouge de la première ligne du paragraphe.

<style>
 {
  background-color: red;
}
</style>

<body>

<p class="intro">
In my younger and more vulnerable years
my father gave me some advice that I've
been turning over in my mind ever since.
'Whenever you feel like criticizing anyone,' he told me,
'just remember that all the people in this world
haven't had the advantages that you've had.'
</p>

</body>


Tous les pseudo-éléments 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

Toutes les pseudo-classes 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