backface-visibility
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2022å¹´3æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
backface-visibility 㯠CSS ã®ããããã£ã§ãè¦ç´ ãã¦ã¼ã¶ã¼ã«å¯¾ãã¦è£å´ãåããã¨ãã«ãè£é¢ãå¯è¦ã«ãããã©ãããè¨å®ãã¾ãã
試ãã¦ã¿ã¾ããã
backface-visibility: visible;
backface-visibility: hidden;
<section class="default-example" id="default-example">
<div id="example-element">
<div class="face front">1</div>
<div class="face back">2</div>
<div class="face right">3</div>
<div class="face bottom">6</div>
</div>
</section>
#default-example {
background: linear-gradient(skyblue, khaki);
}
#example-element {
width: 100px;
height: 100px;
perspective: 550px;
perspective-origin: 220% 220%;
transform-style: preserve-3d;
}
.face {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
position: absolute;
backface-visibility: inherit;
background: rgb(0 0 0 / 0.4);
font-size: 60px;
color: white;
}
.front {
transform: translateZ(50px);
}
.back {
background: rgb(230 0 0);
color: white;
transform: rotateY(180deg) translateZ(50px);
}
.right {
background: rgb(0 0 0 / 0.6);
transform: rotateY(90deg) translateZ(50px);
}
.bottom {
background: rgb(0 0 0 / 0.6);
transform: rotateX(-90deg) translateZ(50px);
}
è¦ç´ ã®è£é¢ã¯è¡¨é¢ã®é¡åã§ããè£é¢ã¯ 2 次å ã§ã¯å¯è¦ã§ã¯ããã¾ãããã3 次å 空éã§è¦ç´ ã«åè»¢å¤æãè¡ãããã¨ãã«ãèé¢ãè¦ããã¨ãã§ãã¾ããï¼ãã®ããããã£ã¯ãè¦ç¹ãæããªã 2 次å ã®åº§æ¨å¤æã§ã¯å¹æãããã¾ãããï¼
æ§æ
/* ãã¼ã¯ã¼ãå¤ */
backface-visibility: visible;
backface-visibility: hidden;
/* ã°ãã¼ãã«å¤ */
backface-visibility: inherit;
backface-visibility: initial;
backface-visibility: revert;
backface-visibility: revert-layer;
backface-visibility: unset;
backface-visibility ããããã£ã¯ã以ä¸ã«æãããã¼ã¯ã¼ãã®ãã¡ã®ä¸ã¤ã§æå®ãã¾ãã
å¤
visible-
ã¦ã¼ã¶ã¼ã«å¯¾ãã¦è£ãåããã¨ããèé¢ãå¯è¦ã«ãªãã¾ãã
-
èé¢ãé表示ã«ãªããè¦ç´ ãã¦ã¼ã¶ã¼ã«å¯¾ãã¦å対ãåããã¨ãã«ä¸å¯è¦ã«ããã®ã«ä¾¿å©ã§ãã
å ¬å¼å®ç¾©
| åæå¤ | visible |
|---|---|
| é©ç¨å¯¾è±¡ | 座æ¨å¤æå¯è½è¦ç´ |
| ç¶æ¿ | ãªã |
| è¨ç®å¤ | æå®éã |
| ã¢ãã¡ã¼ã·ã§ã³ã®ç¨®é¡ | 颿£å¤ |
形弿æ³
backface-visibility =
visible |
hidden
ä¾
>éæãªé¢ã¨ä¸éæãªé¢ãæã£ãç«æ¹ä½
ãã®ä¾ã¯ãéæãªé¢ã¨ä¸éæãªé¢ãæã¤ç«æ¹ä½ã表示ãã¾ãã
HTML
<table>
<thead>
<tr>
<th><code>backface-visibility: visible;</code></th>
<th><code>backface-visibility: hidden;</code></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="container">
<div class="cube show-bf">
<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>
ãã¹ã¦ã®é¢ãéæã§ãããè£é¢ (2, 4, 5) ãè¡¨é¢ (1, 3, 6) ãéãã¦è¡¨ç¤ºããã¾ãã
</p>
</td>
<td>
<div class="container">
<div class="cube hide-bf">
<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>èå¾ã®3é¢ (2, 4, 5) ã¯é表示ã§ãã</p>
</td>
</tr>
</tbody>
</table>
CSS
/* ãç«æ¹ä½ãã® 3 ã¤ã®èé¢ã表示ã¾ãã¯é表示ã«ããã¯ã©ã¹ */
.show-bf div {
backface-visibility: visible;
}
.hide-bf div {
backface-visibility: hidden;
}
/* ã³ã³ããã¼ divãç«æ¹ä½ divãé¢ã®ä¸è¬çãªè¨å® */
.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;
}
/* æ¹åã«åºã¥ãã¦ããããã®é¢ãè¨å® */
.front {
background: rgb(0 0 0 / 30%);
transform: translateZ(50px);
}
.back {
background: lime;
color: black;
transform: rotateY(180deg) translateZ(50px);
}
.right {
background: rgb(196 0 0 / 70%);
transform: rotateY(90deg) translateZ(50px);
}
.left {
background: rgb(0 0 196 / 70%);
transform: rotateY(-90deg) translateZ(50px);
}
.top {
background: rgb(196 196 0 / 70%);
transform: rotateX(90deg) translateZ(50px);
}
.bottom {
background: rgb(196 0 196 / 70%);
transform: rotateX(-90deg) translateZ(50px);
}
/* ãã¼ãã«ã®è¦æ ãããããã */
th,
p,
td {
background-color: #eeeeee;
margin: 0px;
padding: 6px;
font-family: sans-serif;
text-align: left;
}
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Transforms Module Level 2 > # backface-visibility-property > |