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 :
<!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.

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">

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

Set d'exemple initial
Solution HTML :
<div class="container">
    <div>Carré 1</div>
    <div>Carré 2</div>
    <div>Carré 3</div>
</div>
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
Solution HTML :
<div class="container container-1">
  <div>Carré 1</div>
  <div>Carré 2</div>
  <div>Carré 3</div>
</div>
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
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
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
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
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
Solution 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 :

Démonstration 7
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
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
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
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
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
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.

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
Commentaires en ligne
Afficher tous les commentaires