backface-visibility
Quick Summary for backface-visibility
The backface-visibility CSS property sets whether the back face of an element is visible when turned towards the user.
Code Usage for backface-visibility
/* Keyword values */ backface-visibility: visible; backface-visibility: hidden;  /* Global values */ backface-visibility: inherit; backface-visibility: initial; backface-visibility: revert; backface-visibility: unset; 
More Details for backface-visibility

backface-visibility

The backface-visibility CSS property sets whether the back face of an element is visible when turned towards the user.

An element's back face is a mirror image of its front face. Though invisible in 2D, the back face can become visible when a transformation causes the element to be rotated in 3D space. (This property has no effect on 2D transforms, which have no perspective.)

Syntax

/* Keyword values */ backface-visibility: visible; backface-visibility: hidden;  /* Global values */ backface-visibility: inherit; backface-visibility: initial; backface-visibility: revert; backface-visibility: unset; 

The backface-visibility property is specified as one of the keywords listed below.

Values

visible

The back face is visible when turned towards the user.

hidden

The back face is hidden, effectively making the element invisible when turned away from the user.

Formal definition

Initial valuevisible
Applies totransformable elements
Inheritedno
Computed valueas specified
Animation typediscrete

Formal syntax

visible | hidden

Examples

Cube with transparent and opaque faces

This example shows a cube with transparent faces, and one with opaque faces.

HTML
<table>   <tr>     <th><code>backface-visibility: visible;</code></th>     <th><code>backface-visibility: hidden;</code></th>   </tr>   <tr>     <td>       <div class="container">         <div class="cube showbf">           <div class="face front">1</div>           <div class="face back">2</div>           <div class="face right">3</div>           <div class="face left">4</div>           <div class="face top">5</div>           <div class="face bottom">6</div>         </div>       </div>       <p>         Since all faces are partially transparent,         the back faces (2, 4, 5) are visible         through the front faces (1, 3, 6).       </p>     </td>     <td>       <div class="container">         <div class="cube hidebf">           <div class="face front">1</div>           <div class="face back">2</div>           <div class="face right">3</div>           <div class="face left">4</div>           <div class="face top">5</div>           <div class="face bottom">6</div>         </div>       </div>       <p>         The three back faces (2, 4, 5) are         hidden.       </p>     </td>   </tr> </table> 
CSS
/* Classes that will show or hide the    three back faces of the "cube" */ .showbf div {   backface-visibility: visible; }  .hidebf div {   backface-visibility: hidden; }  /* Define the container div, the cube div, and a generic face */ .container {   width: 150px;   height: 150px;   margin: 75px 0 0 75px;   border: none; }  .cube {   width: 100%;   height: 100%;   perspective: 550px;   perspective-origin: 150% 150%;   transform-style: preserve-3d; }  .face {   display: block;   position: absolute;   width: 100px;   height: 100px;   border: none;   line-height: 100px;   font-family: sans-serif;   font-size: 60px;   color: white;   text-align: center; }  /* Define each face based on direction */ .front {   background: rgba(0, 0, 0, 0.3);   transform: translateZ(50px); }  .back {   background: rgba(0, 255, 0, 1);   color: black;   transform: rotateY(180deg) translateZ(50px); }  .right {   background: rgba(196, 0, 0, 0.7);   transform: rotateY(90deg) translateZ(50px); }  .left {   background: rgba(0, 0, 196, 0.7);   transform: rotateY(-90deg) translateZ(50px); }  .top {   background: rgba(196, 196, 0, 0.7);   transform: rotateX(90deg) translateZ(50px); }  .bottom {   background: rgba(196, 0, 196, 0.7);   transform: rotateX(-90deg) translateZ(50px); }  /* Make the table a little nicer */ th, p, td {   background-color: #EEEEEE;   margin: 0px;   padding: 6px;   font-family: sans-serif;   text-align: left; } 
Result

Specifications

Specification
CSS Transforms Module Level 2 # backface-visibility-property

See also

Using CSS transforms

Last modified: Aug 12, 2021, by MDN contributors

Select your preferred language English (US)DeutschEspañolFrançais日本語한국어Português (do Brasil)Русский中文 (简体) Change language

No Items Found.

Add Comment
Type in a Nick Name here
 
Other Categories in CSS
css
Search CSS
Search CSS by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

Subscribe to weekly updates about things i have added to the site or thought interesting during the last week.

You could also follow me on twitter or not... does anyone even use twitter anymore?

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote
time you enjoyed wasting is not wasted time
Unknown
Random CSS Property

:only-child

The :only-child CSS pseudo-class represents an element without any siblings. This is the same as :first-child:last-child or :nth-child(1):nth-last-child(1), but with a lower specificity.
:only-child css reference