Les pseudo éléments CSS39

Cet exercice se compose de plusieurs petits exercices tournant autour de l’utilisation des pseudos éléments ::before et ::after.

Mise en place de l’exercice

Créez un dossier racine nommé exo-css39 à l’emplacement de votre choix.

Dans le dossier racine, créez un fichier HTML intitulé exo-css39.html avec la structure de base.

Solution HTML :
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Titre de la page</title>
    </head>
    <body>

    </body>
</html>

Créez un fichier CSS intitulé style.css et liez-le à la page HTML.

Solution HTML :

Code à placer dans l’en-tête de la page HTML en personnalisant la valeur de l’attribut href si nécessaire afin qu’elle corresponde à l’emplacement et au nom du fichier CSS.

<link  rel="stylesheet" type="text/css" href="style.css">

Les différents exercices à venir se feront tous dans la même page HTML. Vous devez donc prendre vos précautions lors du nommage de vos classes.

Exercice 1

Créez un paragraphe contenant le texte suivant :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut tortor felis, finibus dapibus nibh id, faucibus sodales ligula. Morbi sit amet tincidunt ex. Pellentesque eu velit facilisis, accumsan massa in, mattis massa. Nullam efficitur dolor non ornare rhoncus. Aenean sit amet tellus a nibh elementum dignissim. Nunc dignissim ante eu lectus elementum varius. Mauris molestie venenatis eros.

En utilisant un pseudo élément, ajoutez un carré au début du paragraphe comme dans l’image ci-dessous :

Aperçu exercice 1
Solution HTML :
<p class="exo1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut tortor felis, finibus dapibus nibh id, faucibus sodales ligula. Morbi sit amet tincidunt ex. Pellentesque eu velit facilisis, accumsan massa in, mattis massa. Nullam efficitur dolor non ornare rhoncus. Aenean sit amet tellus a nibh elementum dignissim. Nunc dignissim ante eu lectus elementum varius. Mauris molestie venenatis eros.</p>

Solution CSS :

.exo1::before {
  display: inline-block;
  content: "";
  background-color: red;
  width: 0.8rem;
  height: 0.8rem;
  margin-right: 0.5rem; 
}

En utilisant un deuxième pseudo élément, ajoutez un second carré à la fin du paragraphe comme dans l’image ci-dessous :

Aperçu exercice 1.2
Solution CSS :
.exo1::before,
.exo1::after {
  display: inline-block;
  content: "";
  width: 0.8rem;
  height: 0.8rem;
}
.exo1::before{
  background-color: red;
  margin-right: 0.5rem; 
}
.exo1::after{
  background-color: blue;
  margin-left: 0.5rem; 
}

Exercice 2

Créez un paragraphe contenant le texte suivant :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut tortor felis, finibus dapibus nibh id, faucibus sodales ligula. Morbi sit amet tincidunt ex. Pellentesque eu velit facilisis, accumsan massa in, mattis massa. Nullam efficitur dolor non ornare rhoncus. Aenean sit amet tellus a nibh elementum dignissim. Nunc dignissim ante eu lectus elementum varius. Mauris molestie venenatis eros.

Effectuez la mise en forme du paragraphe pour obtenir le résultat suivant :

Aperçu exercice 2.1
Solution HTML :
<p class="exo2">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut tortor felis, finibus dapibus nibh id, faucibus sodales ligula. Morbi sit amet tincidunt ex. Pellentesque eu velit facilisis, accumsan massa in, mattis massa. Nullam efficitur dolor non ornare rhoncus. Aenean sit amet tellus a nibh elementum dignissim. Nunc dignissim ante eu lectus elementum varius. Mauris molestie venenatis eros.</p>

Solution CSS :

.exo2 {
  border: 1px solid #ccc;
  background-color: #eee;
  padding: 1rem;
}

En utilisant un pseudo élément, reproduisez la mise en forme ci-dessous :

Aperçu exercice 2.2
Solution CSS :
.exo2 {
  border: 1px solid #ccc;
  background-color: #eee;
  padding: 1rem 1rem 1rem 2.5rem;
  position: relative;
}
.exo2::before {
  display: block;
  content: "";
  position: absolute;
  top: 10%;
  left: 1rem;
  width: 0.5rem;
  height: 80%;
  background-color: #666;
}

Exercice 3

Créez un titre de niveau 1 contenant le texte suivant :

Lorem ipsum dolor sit consectetur

En prenant soin, au préalable, d’importer la police Roboto à partir de Google Font, reproduisez la mise en forme suivante :

Aperçu exercice 3.1
Solution HTML :
<h1 class="circles">Lorem ipsum dolor sit consectetur</h1>

Solution CSS :

@import url("https://fonts.googleapis.com/css?family=Roboto:400&display=swap");

.circles {
  font-family: Roboto, sans-serif;
  font-variant: small-caps;
  font-weight: normal;
}

En utilisant deux pseudos éléments, reproduisez la mise en forme ci-dessous :

Aperçu exercice 3.2
Solution CSS :
.circles {
  position: relative;
  padding-left: 1.5em;
  font-family: Roboto, sans-serif;
  font-variant: small-caps;
  font-weight: normal;
}
.circles::before,
.circles::after {
  display: block;
  content: "";
  position: absolute;
  border-radius: 50%;
}
.circles::before {
  width: 1em;
  height: 1em;
  left:0;
  background-color: #666;
}
.circles::after {
  width: 0.8em;
  height: 0.8em;
  top:0.4em; 
  left:0.5em;
  background-color: rgba(125,125,125,0.5);
}

Exercice 4

Créez quatre titres de niveau 1 contenant le texte de votre choix.

En utilisant un pseudo élément et le système de compteur de CSS, ajoutez un numéro automatiquement devant vos titres.

Vous pouvez vous aider de l’article Numérotation automatique des titres en CSS pour apprendre à utiliser le système de compteur de CSS.

Solution HTML :
<h1 class="number">Foo</h1>
<h1 class="number">Bar</h1>
<h1 class="number">Baz</h1>
<h1 class="number">Qux</h1>

Solution CSS :

body{
  counter-reset: number;
}
.number {
  counter-increment: number;
}
.number::before {
  content: counter(number);
}

Effectuez la mise en forme pour obtenir le résultat suivant :

Aperçu exercice 4
Solution CSS :
body{
  counter-reset: number;
}
.number {
  counter-increment: number;
}
.number::before {
  content: counter(number);
  display: inline-block;
  width: 2.2rem;
  text-align: center;
  border-radius: 0.3rem;
  margin-right: 0.5rem;
  background-color: #666;
  color: #fff;
}
S’abonner
Notification pour
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires