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.

Solution HTML :

Voici la structure de base d’une page HTML.

HTML
<!doctype html><html lang="fr">    <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.

Solution HTML :

Le code ci-dessous doit être placé dans l’en-tête <head> de la page HTML. Il est nécessaire de personnaliser la valeur de l’attribut href afin qu’elle corresponde à l’emplacement et au nom du fichier CSS à lier.

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

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

Solution HTML :
HTML
<div class="container">    <div>Carré 1</div>    <div>Carré 2</div>    <div>Carré 3</div></div>
Solution CSS :
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 :

Solution HTML :
HTML
<div class="container container-1">  <div>Carré 1</div>  <div>Carré 2</div>  <div>Carré 3</div></div>
Solution CSS :
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 :

Solution CSS :
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 :

Solution CSS :
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 :

Solution CSS :
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 :

Solution CSS :
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 :

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

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

Solution CSS :
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 :

Solution CSS :
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 :

Solution CSS :
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 :

Solution CSS :
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 :

Solution CSS :
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 :

Solution CSS :
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.

Commentaires

Laisser un commentaire

Votre adresse e-mail 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 la façon dont les données de vos commentaires sont traitées.