Une remarque ? Une suggestion ?...

Merci de participer à l'amélioration de ce site. Prenez le temps de rédiger votre remarque le plus précisément possible :

transform-style - Propriété CSS

transform-style

Résumé des caractéristiques de la propriété transform-style

Description rapide
Rendu des éléments soumis à une transformation 3D.
Statut
Standard
S'applique à
Tous les éléments transformables.
Valeurs prédéfinies
flat | preserve-3d
Pourcentages
Ne s'appliquent pas.
Valeur initiale
flat
Héritée par défaut
Non
Type d'animation
Discrète : lors d'une animation, la propriété transform-style passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Transformations
Références (W3C)
Statut du document:: WD (document de travail)

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 de visible ou clip.
  • 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 de auto.
  • clip-path : toute valeur différente de none.
  • isolation : avec la valeur isolate.
  • mask-image : toute valeur différente de none.
  • mask-border-source : toute valeur différente de none.
  • mix-blend-mode : toute valeur différente de normal.
  • contain : avec la valeur paint.

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.

  • transform-style: initial; transform-style: inherit; transform-style: revert; transform-style: revert-layer; transform-style: unset;

    La valeur initiale est : flat.

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.

transform-style :

Prise en charge par les navigateurs (compatibilité).

Colonne 1
Restitution correcte par les navigateurs des transformations en 2D (dans le plan de l'écran).
Colonne 2
Restitution correcte des transformations en 3D.
Colonne 2
Traitement correct de la propriété transform-style.
1
2D transformations
2
3D transformations
3
transform-style
Estimation de la prise en charge en pourcentage du parc actuel.
98%
97%
95%

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

Oméra mini

Voir aussi, dans le même module de standardisation que transform-style.

Les spécifications CSS éditées par le W3C sont organisées en modules. transform-style fait partie du Module CSS - Transformations (CSS Transforms Module). Les définitions suivantes sont également décrites dans ce même module.

Propriétés.

Visibilité de la face arrière de l'élément (pendant sa rotation).
Effet de perspective appliqué à un élément ayant subi une transformation 3D.
Position de l'observateur dans le cas d'une déformation 3D avec perspective.
Définit une rotation de l'élément.
Définit un mise à l'échelle de l'élément (agrandissement ou réduction).
Applique une ou plusieurs transformations géométriques (rotations, agrandissements, etc.).
Définit la boîte de référence pour les transformations.
Point d'origine pour les transformations.
Définit une translation de l'élément (un déplacement).
Définit un agrandissement ou une réduction de l'élément.

Fonctions.

Applique une transformation composite à un élément (translations, rotations...)
Applique une série de transformations 3D à un élément.
Définit la hauteur de l'observateur dans le cas d'une transformation 3D.
Définit une rotation de l'élément en 2D (dans le plan de l'écran).
Définit une rotation 3D de l'élément autour d'un axe quelconque en 3D.
Définit une rotation de l'élément autour de l'axe X (en 3D),
Définit une rotation 3D de l'élément autour de l'axe Y.
Définit une rotation de l'élément autour de l'axe Z.
Définit un agrandissement ou une réduction de l'élément.
Définit une mise à l'échelle en 3D.
Définit une mise à l'échelle suivant l'axe X.
Définit une mise à l'échelle suivant l'axe Y.
Définit une mise à l'échelle suivant l'axe Z.
Définit une inclinaison de l'élément suivant les axes X et/ou Y.
Définit une inclinaison de l'élément suivant l'axe X.
Définit une inclinaison de l'élément suivant l'axe Y.
Applique une translation (un déplacement ) à un élément.
Définit une translation en 3D suivant un ou plusieurs des axes X,Y et Z.
Définit une translation suivant l'axe X (horizontalement).
Définit une translation suivant l'axe Y (verticalement).
Définit une translation suivant l'axe Z (perpendiculaire à l'écran).