Backface-visibility - Propriété CSS

backface-visibility

Résumé des caractéristiques de la propriété backface-visibility

Description rapide
Visibilité de la face arrière de l'élément (pendant sa rotation).
Statut
Standard
Utilisable sur
HTML
Valeurs prédéfinies
visible | hidden
Pourcentages
Ne s'appliquent pas.
Valeur initiale
visible
Héritée par défaut
Non.
Discrète : lors d'une animation, la propriété backface-visibility passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Transformations
Statut du document: WD (document de travail)

Schéma syntaxique de backface-visibility.

backface-visibility - Syntax DiagramSyntax diagram of the backface-visibility CSS property. visible visible hidden hiddenbackface-visibility:;backface-visibility:;
Schéma syntaxique de la propriété backface-visibility
Cliquez sur le schéma pour plus de détails sur les valeurs

Description.

La propriété backface-visibility définit si la face arrière d'un élément est affichée dans le cas où celui-ci a été tourné ou est en rotation en 3D.
Pour tourner un élément, voir la propriété CSS transform.

Syntaxes pour backface-visibility.

  • backface-visibility: visible;

    Valeur par défaut. La face arrière est affichée lorsque l'élément est "de dos".

    Démonstration
  • backface-visibility: hidden;

    La face arrière n'est pas affichée. L'élément semble donc disparaître lorsque il est de dos.

    Démonstration

Valeurs globales
(communes à toutes les propriétés)

backface-visibility: initial (visible) backface-visibility: inherit backface-visibility: revert backface-visibility: revertLayer backface-visibility: unset

Consultez les pages suivantes pour plus de détails : initial, inherit, revert, revert-layer, unset.

Manipulation de la propriété backface-visibility par programme.

Avec Javascript, modifier la valeur de backface-visibility.

Javascript accepte deux syntaxes : la première en notation kebab-case, typique de CSS (un tiret pour séparer les mots), et la deuxième en notation en camel-case plus courante en Javascript (une majuscule pour séparer les mots).

Javascript
let el = document.getElementById('id'); el.style['backface-visibility'] = 'hidden'; // ou let el = document.getElementById('id'); el.style.backfaceVisibility = 'hidden';

Avec Javascript, lire la valeur de backface-visibility.

Ce code récupère la valeur de la propriété backface-visibility lorsque celle-ci a été affectée via l'attribut style du HTML, ou par un code Javascript comme celui qui est donné plus haut. Si la propriété a été définie via un sélecteur CSS, sa valeur ne sera pas lue.

Javascript
let el = document.getElementById('id'); let value = el.style['backface-visibility']; // ou let el = document.getElementById('id'); let value = el.style.backfaceVisibility;

Avec Javascript, lire la valeur calculée de backface-visibility.

La valeur calculée résulte de l'évaluation du mécanisme d'héritage. Cela peut être la valeur attribuée à la propriété directement sur l'élément par l'attribut style, la valeur affectée via un sélecteur CSS, une valeur héritée, ou la valeur initiale de la propriété (soit visible dans le cas de backface-visibility).

Javascript
let el = document.getElementById('id'); let value = window.getComputedStyle(el).getPropertyValue('backface-visibility');

Avec JQuery, modifier la valeur de backface-visibility.

Comme c'est souvent le cas, JQuery propose une syntaxe plus courte que Javascript pour lire et écrire la valeur de backface-visibility.

JQuery

$('#id').css('backface-visibility', 'hidden');
// ou
$('#id').css('backfaceVisibility', 'hidden');

Avec JQuery, lire la valeur calculée de backface-visibility.

JQuery
let value = $('#id').css('backface-visibility');

Testez vous-même.

Vous pouvez utiliser les boutons ci-dessous pour appliquer une valeur à la propriété backface-visibility, et affichent ensuite soit la valeur telle qu'elle a été appliquée, soit la valeur calculée. Si une valeur incorrecte est appliquée, la valeur affectée sera vide, et la valeur calculée sera visible.

Exemple interactif avec la propriété backface-visibility.

backface-visibility :
Ça tourne !

Prise en charge par les navigateurs (compatibilité).

Les transformations 3D et la propriété backface-visibility sont maintenant très bien reconnues par les navigateurs actuels.

Colonne 1
Prise en charge générale des animations en 3D, incluant le support pour la gestion de la perspective et le support pour la propriété backface-visibility.
Colonne 2
Prise en charge de la propriété backface-visibility.

Remarques :

(1) Internet Explorer ne supporte pas transform-style:preserve-3d limitant ainsi l'imbrication des animations.

1
Transformations
3D
2
Propriété
backface-visibility
Estimation de la prise en charge globale.
97%
96%

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

Historique de la propriété backface-visibility.

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 en CSS :

Propriétés :

Backface-visibility
Visibilité de la face arrière de l'élément (pendant sa rotation).
perspective
Effet de perspective appliqué à un élément ayant subi une transformation 3D.
perspective-origin
Position de l'observateur dans le cas d'une déformation 3D avec perspective.
rotate
Définit une rotation à appliquer à l'élément.
scale
Définit une mise à l'échelle de l'élément (agrandissement ou réduction).
transform
Applique une ou plusieurs transformations géométriques (rotations, agrandissements, etc.).
transform-box
Définit la boîte de référence pour les transformations.
transform-origin
Définit le point d'origine pour les transformations.
transform-style
Définit comment sont rendus les éléments soumis à une transformation 3D.
translate
Applique une translation à un élément (un déplacement linéaire).

Fonctions :

matrix()
Applique une transformation composite à un élément (translations, rotations...).
matrix3d()
Applique une série de transformations 3D à un élément.
perspective()
Définit la hauteur de l'observateur dans le cas d'une transformation 3D.
rotate()
Définit une rotation à appliquer à l'élément en 2D (dans le plan de l'écran).
rotate3d()
Définit une rotation 3D à appliquer à un élément autour d'un axe quelconque en 3D.
rotateX()
Définit une rotation de l'élément autour de l'axe X (en 3D),
rotateY()
Définit une rotation 3D de l'élément autour de l'axe Y.
rotateZ()
Définit une rotation de l'élément autour de l'axe Z.
scale()
Définit un agrandissement ou une réduction de l'élément.
scale3d()
Définit une mise à l'échelle en 3D.
scaleX()
Définit une mise à l'échelle suivant l'axe X.
scaleY()
Définit une mise à l'échelle suivant l'axe Y.
scaleZ()
Définit une mise à l'échelle suivant l'axe Z.
skew()
Définit une inclinaison de l'élément suivant les axes X et/ou Y.
skewX()
Définit une inclinaison de l'élément suivant l'axe X.
skewY()
Définit une inclinaison de l'élément suivant l'axe Y.
translate()
Définit une translation (un déplacement) à un élément.
translate3d()
Définit une translation en 3D suivant un ou plusieurs des axes X,Y et Z.
translateX()
Définit une translation suivant l'axe X (horizontalement).
translateY()
Définit une translation suivant l'axe Y (verticalement).
translateZ()
Définit une translation suivant l'axe Z (perpendiculaire à l'écran).