Transformations 2D de base en CSS CSS31

L’objectif de cet exercice est de tester les différentes possibilités offertes par le module de transformation 2D de CSS.

Mise en place de l’exercice

Créez un dossier racine nommé transformations.

Créez un fichier transformations.html dans votre dossier racine avec le contenu de base d’une page HTML.

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 nouveau fichier style.css et liez-le à la page 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">

Construisez un set d’exemple correspondant à l’illustration suivante :

Set d'exemple initial
Afficher la solution HTML

Solution HTML :

<div class="container">
    <div>Carré 1</div>
    <div>Carré 2</div>
    <div>Carré 3</div>
</div>
Afficher la solution CSS

Solution CSS :

body {
  background-color: #efefd0;
}
.container {
  border: 1px solid #ff6b35;
  width: 800px;
  margin: 20px auto;
  background-color: #f7c59f;
}
.container div {
  display: inline-block;
  border: 2px solid #004e89;
  background-color: #b2ebea;
  width: 100px;
  height: 100px;
  margin: 10px;
}

Rotations

Effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 1
Afficher la solution HTML

Solution HTML :

<div class="container container-1">
  <div>Carré 1</div>
  <div>Carré 2</div>
  <div>Carré 3</div>
</div>
Afficher la solution CSS

Solution CSS :

.container-1 div:nth-of-type(2) {
  transform: rotate(90deg);
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 2
Afficher la solution CSS

Solution CSS :

.container-2 div:nth-of-type(1) {
  transform: rotate(180deg);
}
.container-2 div:nth-of-type(2) {
  transform: rotate(45deg);
}
.container-2 div:nth-of-type(3) {
  transform: rotate(225deg);
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 3
Afficher la solution CSS

Solution CSS :

.container-3 div:nth-of-type(2) {
  transform: rotate(45deg);
  transform-origin: 0 0 ;
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 4
Afficher la solution CSS

Solution CSS :

.container-4 div:nth-of-type(2) {
  transform: rotate(90deg);
  transform-origin: 100% 0 ;
}

Translations

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 5
Afficher la solution CSS

Solution CSS :

.container-5 div:nth-of-type(2) {
  transform: translate(50px);
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 6
Afficher la solution CSS

Solution CSS :

.container-6 div:nth-of-type(2) {
  transform: translate(50%,50%);
}

Redimensionnements

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 7
Afficher la solution CSS

Solution CSS :

.container-7 div:nth-of-type(2) {
  transform: scale(0.5);
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 8
Afficher la solution CSS

Solution CSS :

.container-8 div:nth-of-type(2) {
  transform: scale(1.5);
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 9
Afficher la solution CSS

Solution CSS :

.container-9 div:nth-of-type(2) {
  transform: scale(0.5, 1);
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 10
Afficher la solution CSS

Solution CSS :

.container-10 div:nth-of-type(1) {
  transform: scale(0.5);
  transform-origin: 0 0 ;
}
.container-10 div:nth-of-type(2) {
  transform: scale(0.5);
  transform-origin: 0 100% ;
}
.container-10 div:nth-of-type(3) {
  transform: scale(0.5);
  transform-origin: 100% 100% ;
}

Obliques

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 11
Afficher la solution CSS

Solution CSS :

.container-11 div:nth-of-type(2) {
  transform: skewX(20deg);
}

Dupliquez le set d’exemple HTML et effectuez les paramétrages CSS permettant d’obtenir le résultat suivant :

Démonstration 12
Afficher la solution CSS

Solution CSS :

.container-12 div:nth-of-type(2) {
  transform: skewY(20deg);
}

Sauf mention contraire*, l'article Transformations 2D de base en CSS [CSS31] 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.