Propriété CSS perspective

La propriété perspective donne une perspective aux objets positionnés dans l'espace 3D et détérmine la distance entre le plan d'équation z = 0.

Un élément 3D avec z>0 devient plus grand, un élément 3D avec z<0 devient plus petit.

La propriété perspective n'accepte pas 0 ou des valeurs négatives.

Seul l'élément enfant obtient une vue en perspective, pas l'élément lui-même.
Pour une compatibilité maximale du navigateur, cette propriété est utilisée avec l'extension.
Valeur initiale none
Appliquée à Éléments transformables.
Héritée Non.
Animable Oui. La transformation de la perspective est animable.
Version CSS3
Syntaxe DOM object.style.perspective = "70px";

Syntaxe

perspective: length | none | initial | inherit;

Exemple

<!DOCTYPE html>
<html>
  <head>
    <title>Titre de l'élément</title>
    <style>
      .element1 {
      padding: 50px;
      position: absolute;
      border: 1px solid #666;
      background-color: #1c87c9;
      background: #8ebf42; 
      -webkit-transform-style: preserve-3d; /* Safari 3-8  */  
      -webkit-transform: rotateX(40deg); /* Safari 3-8  */
      transform-style: preserve-3d;
      transform: rotateX(40deg);
      }
      .element2 {
      position: relative;
      height: 160px;
      width: 160px;
      margin-left: 20px;
      border: 1px solid #000;
      -webkit-perspective: none; /* Safari 4-8  */
      perspective: none;
    </style>
  </head>
  <body>
    <h2>Exemple de la propriété perspective</h2>
    <h3>perspective: none:</h3>
    <div class="element2">
      Boîte2
      <div class="element1">Boîte1</div>
    </div>
  </body>
</html>

Un autre exemple, dans lequel la perspective est spécifiée comme 100px:

Exemple

<!DOCTYPE html>
<html>
  <head>
    <title>Titre de l'élément</title>
    <style>
      .element1 {
      padding: 50px;
      position: absolute;
      border: 1px solid #666;
      background-color: #1c87c9;
      background: #8ebf42; 
      -webkit-transform-style: preserve-3d; /* Safari 3-8  */  
      -webkit-transform: rotateX(40deg); /* Safari 3-8  */
      transform-style: preserve-3d;
      transform: rotateX(40deg);
      }
      .element2 {
      position: relative;
      height: 150px;
      width: 150px;
      margin-left: 50px;
      border: 1px solid #000;
      -webkit-perspective: 100px; /* Safari 4-8  */
      perspective: 100px;
    </style>
  </head>
  <body>
    <h2>Exemple de la propriété perspective</h2>
    <h3>perspective: none:</h3>
    <div class="element2">
      Boîte2
      <div class="element1">Boîte1</div>
    </div>
  </body>
</html>

Values

Valeur Description
length Applique une perspective à l'élément et à son contenu.
none N'applique aucune perspective.
initial Fait la propriété utiliser sa valeur propriété.
inherit Hérite la propriété de son élément parent.

Support de Navigateurs

chrome firefox safari opera
36.0+
12.0-35.0 -webkit-
16.0+
10.0-15.0 -moz-
4.0+
-webkit-
23.0+
15.0-22.0 -webkit-

Pratiquez vos connaissances

Dans CSS, comment est utilisée la propriété 'perspective'?
Trouvez-vous cela utile?