Transform-style - Propriété CSS
Résumé des caractéristiques de la propriété transform-style
flat
| preserve-3d
flat
transform-style
passe d'une valeur à l'autre sans transition.Schéma syntaxique de transform-style
.
transform-style
Les liens du schéma donnent accès à plus de détails
Description de la propriété transform-style
.
Définit comment se comportent les enfants de l'élément lorsque ce dernier subit une transformation 3d.
Plus précisément transform-style
définit si les enfants de l'élément ont leur propre espace 3d ou bien,
à l'inverse, s'ils sont toujours dans le même plan que le parent.
Dans l'exemple ci-dessous, l'élément parent est en bleu, et l'élément enfant en vert. Ce dernier a été tourné de 45 degrés autour de l'axe X.
Cette rotation l'a fait sortir du plan de son parent. C'est bien visible sur le résultat, parce que la propriété transform-style
a été fixée
à la valeur preserve-3d
.
Plusieurs autres propriétés interfèrent avec transform-style
et forcent les enfants à rester dans le plan du parent :
overflow
: avec une valeur différente devisible
ouclip
.opacity
: lorsque l'opacité est inférieure à 1 (élément semi-transparent ou transparent).filter
: dès qu'un filtre graphique est appliqué (flou, changement de la teinte, etc).clip
: toute valeur différente deauto
.clip-path
: toute valeur différente denone
.isolation
: avec la valeurisolate
.mask-image
: toute valeur différente denone
.mask-border-source
: toute valeur différente denone
.mix-blend-mode
: toute valeur différente denormal
.contain
: avec la valeurpaint
.
Syntaxes pour transform-style
.
- transform-style: flat;
Valeur par défaut. Les éléments enfants n'ont pas d'espace 3D qui leur serait propre : ils ne peuvent que rester dans le même plan que l'élément parent.
- transform-style: preserve-3d;
Les éléments enfants de l'élément animé ont leur propre espace 3D, ce qui permet des restitutions plus réalistes des effets 3d.
Valeurs globales
(communes à toutes les propriétés)
transform-style: initial (flat
)
transform-style: inherit
transform-style: revert
transform-style: revertLayer
transform-style: unset
Consultez les pages suivantes pour plus de détails : initial
, inherit
, revert
, revert-layer
, unset
.
Animation de la propriété transform-style
.
L'exemple ci-dessous est composé d'un élément bleu (le parent), contenant un élément vert (qui est donc son enfant). Le parent a été tourné autour de l'axe X de 60 degrés, tandis que l'élément enfant a été monté (axe Z) de 30 pixels.
L'animation est faite sur la propriété transform-style
.Quand cette dernière passe par la valeur flat
,
le décalage de l'élément vert n'apparaît plus : l'élément enfant reste confiné dans le plan de son parent.
Simulateur pour transform-style
.
Le simulateur ci-dessous présente deux constructions, composées chacune d'un élément parent (bleu) contenant un élément
enfant (en vert).
En mode flat
, il est impossible de voir les transformations qui ont été appliquées à l'élément enfant,
car ce dernier reste dans le plan du parent et tourne avec lui.
Dans le premier exemple, l'élément enfant est même invisible car il a été tourné de 90° autour de l'axe vertical (Y).
En mode preserve-3d
on se rend compte des transformations qui ont été appliquées à chacun des éléments enfants.
Prise en charge par les navigateurs (compatibilité).
transform-style
.
2D
3D
transform-style
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :
Androïd Brower
Baidu Browser
Chrome
Chrome pour Androïd
Edge
Firefox
Firefox pour Androïd
Internet Explorer
KaiOS Browser
Opéra
Opéra Mobile
QQ Browser
Safari
Safari sur IOS
Samsung Internet
UC Browser pour Androïd
Opéra mini
Historique de la propriété transform-style
.
-
Module CSS - Transformations - Niveau 2
Ce niveau de la spécification introduit les transformations en 3D.
Ajout de la propriététransform-style
.03 Mars 2020Document de travail.
Voir aussi, concernant les transformations.
Le module "Module CSS - Transformations" (ou CSS Transforms Module en anglais) décrit la propriété transform-style
, et regroupe également toutes
les définitions concernant les transformations en CSS :