Positionnement relatif CSS36

Plusieurs petits exercices consistant à tester les principes du positionnement relatif en CSS en reproduisant des modèles.

Pour rappel, le positionnement relatif consiste à positionner un élément HTML par rapport à sa propre position dans le flux. Ce positionnement s’effectue avec les propriétés display, top, bottom, left et right.

Deux points à retenir lorsqu’un élément est positionné en relatif :

  • L’élément ne sort pas du flux HTML, l’espace qu’il occupait dans le flux est donc conservé.
  • L’élément conserve les dimensions qu’il pouvait avoir avant positionnement.

Préparation de l’exercice

Créez un dossier racine à l’emplacement de votre choix.

Créez un fichier html intitulé position-css36.html avec la structure de base.

Afficher la solution

Solution :

<!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 position-css36.html.

Afficher la solution

Solution :

Code à placer dans l’en-tête de la page HTML en personnalisant la valeur de l’attribut href si nécessaire.

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

Exercice 1 : Logo (pas à pas)

HTML : Insérez un titre de niveau 2 contenant le texte suivant “Mon super logo”.

Afficher la solution HTML

Solution HTML :

<h2>Mon super logo</h2>

HTML : Insérez un élément de type inline neutre sémantiquement autour du mot “super” afin de pouvoir le manipuler indépendamment du reste du titre.

Afficher la solution HTML

Solution HTML :

<h1>Mon <span>super</span> logo</h1>

CSS : En utilisant un positionnement relatif, positionnez le mot super afin de reproduire le modèle suivant :

Démo du logo
Afficher la solution CSS

Solution CSS :

h1 span {
  position: relative;
  top: -20px;
}

Gérez la casse (majuscule/minuscule) de votre logo en utilisant CSS.

Afficher la solution CSS

Solution CSS :

h1 {
  font-variant: small-caps;
}

Exercice 2 : Positionnement relatif d’un titre (basé sur un modèle)

Observez attentivement l’exemple ci-dessous (faites varier la largeur de la fenêtre si nécessaire), puis reproduisez-le sur la page position-css36.html .

Afficher la solution HTML

Solution HTML :

<div class="container">
  <h1>Titre du truc</h1>
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam
  sit amet felis efficitur, dictum felis in, consectetur neque.
  Aliquam nec tincidunt eros, eget venenatis massa. Suspendisse
  turpis dui, ultricies tristique.</p>
</div>
Afficher la solution CSS

Solution CSS :

body {
  background-color: #ddd ;
  font-family: 'Trebuchet MS';
}
.container {
  width: 60%;
  margin: auto;
  border: 1px solid #ccc ;
  background-color: #fff ;
  padding: 10px;
}
h1 {
  margin: 0px;
  padding: 5px 10px;
  color: #fff ;
  background-color: purple ;
  margin-bottom: 10px;
  position: relative;
  right: 50px;
}

Exercice 3 : Titre avec lettres en cascade (basé sur un modèle)

Vous pouvez choisir de créer un nouveau fichier position-css36-2.html auquel vous liez le fichier css ou de travailler à la suite de l’exercice précédent.

Observez attentivement l’exemple ci-dessous, puis essayez de le reproduire.

Afficher la solution HTML

Solution HTML :

<h1>Hello <span>W</span><span>O</span><span>R</span><span>L</span><span>D</span></h1>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet felis efficitur, dictum felis in, consectetur neque. Aliquam nec tincidunt eros, eget venenatis massa. Suspendisse turpis dui, ultricies tristique quam vitae, vestibulum condimentum urna. Pellentesque libero tortor, luctus et diam quis, facilisis hendrerit magna. Aliquam at justo vitae nisl consectetur sagittis eu eu est. Fusce vehicula purus nibh, in gravida tellus aliquam in. Donec vitae pulvinar arcu. In pellentesque nibh ut lectus efficitur laoreet. Sed vitae laoreet purus, quis iaculis nulla. Phasellus at aliquet elit. Curabitur consectetur tincidunt nisl cursus facilisis.</p>
Afficher la solution CSS

Solution CSS :

body {
  background-color: #ddd;
  font-family: 'Trebuchet MS';
}
h1 {
  color: purple;
  margin-bottom: 10px;
}
span {
  position: relative;
}
span:nth-child(1) {
  top: 10px;
}
span:nth-child(2) {
  top: 20px;
}
span:nth-child(3) {
  top: 30px;
}
span:nth-child(4) {
  top: 40px;
}
span:nth-child(5) {
  top: 50px;
}

Sauf mention contraire*, l'article Positionnement relatif [CSS36] et son contenu par Julien Crego sont mis à disposition selon les termes de la licence Creative Commons

Licence Creative Commons

Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

Cette licence vous permet de remixer, arranger, et adapter cette œuvre à des fins non commerciales tant que vous créditez la source en citant le nom des auteurs et que les nouvelles œuvres sont diffusées selon les mêmes conditions.

* Cette notice est intégrée automatiquement à la fin de chaque article de ce site.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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