Perspective - Propriété CSS
Résumé des caractéristiques de la propriété perspective
none
none
perspective
passe progressivement d'une valeur à une autre.Schéma de la syntaxe de perspective
.
Sur le schéma, les termes en gras sont les mots prédéfinis de CSS, les autres termes sont décrits ci-dessous :
length
est une valeur numérique positive ou nulle, suivie d'une des unités de dimension.
Description de la propriété perspective
.
La propriété perspective
définit un effet de perspective sur un élément qui a subi une transformation 3D.
Reportez-vous à la page sur transform
pour une présentation des transformations en CSS.

Élément non transformé : il est dans le plan 2D

Cet élément a subi une rotation. Sans effet de perspective il parait simplement compressé.

Cet élément a subi la même rotation, mais avec un effet de perspective.
Attention à la particularité de perspective
: son effet est visible sur les éléments enfants.
Il faut donc appliquer la propriété au container.
L'effet de perspective est calculé en considérant que l'observateur est au centre de l'élément container.
Voir la propriété perspective-origin
pour changer la position de l'observateur.
perspective
n'a aucun effet sur les éléments qui n'ont pas subi de transformation, ou ceux qui ont subi une transformation
qui les laisse dans le plan 2D. L'effet de perspective
est visible sur les transformations suivantes :
- Rotations suivant l'axe X (horizontal) ou suivant l'axe Y (vertical).
- Déplacement suivant l'axe Z.
- Toutes les combinaisons faisant intervenir au moins une des deux transformations ci-dessus.
Valeurs pour perspective
.
- perspective: none;
Aucun effet de perspective n'est appliqué.
- perspective: 200px;
Cette valeur définit la distance entre l'observateur et l'élément. L'effet de perspective est d'autant plus élevé que observateur et élément sont proches.
La valeur est un nombre strictement positif, suivi d'une des unités de dimension. Les pourcentages ne sont pas autorisés.
- perspective: initial; (
none
) perspective: inherit; perspective: revert; perspective: revertLayer; perspective: unset;Les valeurs communes sont présentées sur ces pages :
initial
,inherit
,revert
,revert-layer
,unset
.
Exemple d'animation de perspective
.
L'animation de perspective
peut donner des résultats surprenants. Par exemple, on a l'impression sur cet exemple
que la vitesse de l'animation n'est pas du tout constante. Pourtant il s'agit bien d'une animation linéaire, mais le calcul
de perspective est beaucoup plus sensible pour les faibles valeurs (là où l'effet de perspective est le plus marqué).
L'exemple est constitué d'un élément parent, sur lequel on applique la perspective (avec l'animation), et d'un élément enfant sur lequel la transformation a été appliquée. Il s'agit ici d'une rotation suivant l'axe Y (vertical).
Exemple interactif avec la propriété perspective
.
Le simulateur ci-dessous vous permettra de comprendre l'effet de la propriété perspective
:
les deux cadres intérieurs ont déjà reçu les styles pour les tourner suivant l'axe X ou l'axe Y.
Tapez une dimension entre 50px et 700px et observez le résultat.
En dessous de 50 pixels, la déformation est vraiment trop forte et rend le texte illisible.
Au dessus de 700px, les variations de perspective sont trop peu sensibles.
L'observateur est censé se trouvé au milieu de l'élément parent.
Sa position est matérialisée par le dessin d'un œil.
Voir la propriété perspective-origin
pour changer cet emplacement.
Pour le fun, vous pouvez aussi observer tout ceci en animation
Compatibilité des navigateurs avec perspective
.
backface-visibility
.perspective
pour définir la hauteur du point de vue (transformations 3D).Remarques :
(2) Internet Explorer ne supporte pas transform-style:preserve-3d
limitant ainsi l'imbrication des animations.
(1) En IOS 13
la propriété perspective
ne fonctionne pas correctement.
3D
perspective
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Opéra

Firefox pour Androïd

Samsung Internet

Chrome

Edge

Firefox

Androïd Brower

Chrome pour Androïd

Baidu Browser

QQ Browser

Safari

Safari sur IOS

UC Browser pour Androïd

Opéra mini
Histoire de la propriété perspective
.
-
Module CSS - Transformations - Niveau 2
Introduction des transformations en 3D et de la propriétéperspective
dans la spécification concernant les transformations.03 Mars 2020Document de travail.
Voir aussi, concernant les transformations.
Le W3C organise les spécifications CSS en modules. Le module "Module CSS - Transformations" ou CSS Transforms Module en anglais, regroupe toutes les définitions concernant les transformations CSS :