CSS scaleZ() 颿°
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
scaleZ() 㯠CSS ã®é¢æ°ã§ãè¦ç´ ã Z è»¸ã«æ²¿ã£ã¦å¤åãã座æ¨å¤æãå®ç¾©ãã¾ããçµæã¯ <transform-function> ãã¼ã¿åã«ãªãã¾ãã
試ãã¦ã¿ã¾ããã
transform: scaleZ(1);
transform: scaleZ(1.4);
transform: scaleZ(0.5);
transform: scaleZ(-1.4);
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
<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>
</section>
#default-example {
background: linear-gradient(skyblue, khaki);
perspective: 800px;
perspective-origin: 150% 150%;
}
#example-element {
width: 100px;
height: 100px;
perspective: 550px;
transform-style: preserve-3d;
}
.face {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
position: absolute;
backface-visibility: inherit;
font-size: 60px;
color: white;
}
.front {
background: rgb(90 90 90 / 0.7);
transform: translateZ(50px);
}
.back {
background: rgb(0 210 0 / 0.7);
transform: rotateY(180deg) translateZ(50px);
}
.right {
background: rgb(210 0 0 / 0.7);
transform: rotateY(90deg) translateZ(50px);
}
.left {
background: rgb(0 0 210 / 0.7);
transform: rotateY(-90deg) translateZ(50px);
}
.top {
background: rgb(210 210 0 / 0.7);
transform: rotateX(90deg) translateZ(50px);
}
.bottom {
background: rgb(210 0 210 / 0.7);
transform: rotateX(-90deg) translateZ(50px);
}
ããã¯è¦ç´ ã®ããããã®ç¹ã® Z 座æ¨ãä¸å®ã®ä¿æ°ã§ä¿®æ£ãã¾ãããä¿æ°ã 1 ã§ããå ´åã¯ãã®é¢æ°ãæç夿ã«ãªãã®ã§ä¾å¤ã§ããå¤åã¯çæ¹æ§ã§ã¯ãªããè¦ç´ ã®è§åº¦ã¯ä¿åããã¾ããã scaleZ(-1) ã¯è»¸ã®ç·å¯¾ç§°ãå®ç¾©ããZ 軸㯠(transform-origin ããããã£ã®æå®éãã«) åç¹ãééãã¾ãã
ä¸è¨ã®ãã¢ã§ã¯ãperspective: 550px; (䏿¬¡å
空éãä½ããã) 㨠transform-style: preserve-3d; (ç«æ¹ä½ã® 6 ã¤ã®é¢ã§ããåã䏿¬¡å
空éã«é
ç½®) ãç«æ¹ä½ã«è¨å®ãã¾ããã
ã¡ã¢:
scaleZ(sz) 㯠scale3d(1, 1, sz) ã¨ç価ã§ãã
æ§æ
scaleZ(s)
å¤
s-
<number>ã§ãè¦ç´ ã®ããããã®ç¹ã® Z 座æ¨ã«é©ç¨ãããå¤åçã表ãã¾ãã
| ç´äº¤åº§æ¨ç³» (â^2) | 忬¡åº§æ¨ç³» (ââ^2) | ç´äº¤åº§æ¨ç³» (â^3) | 忬¡åº§æ¨ç³» (ââ^3) |
|---|---|---|---|
| ãã®åº§æ¨å¤æã¯ä¸æ¬¡å 空éã«é©ç¨ãããå¹³é¢ã§è¡¨ããã¨ã¯ã§ãã¾ããã |
|
|
|
形弿æ³
<scaleZ()> =
scaleZ( [ <number> | <percentage> ] )
ä¾
>HTML
<div>é常</div>
<div class="perspective">å¹³è¡ç§»å</div>
<div class="scaled-translated">å¤å</div>
CSS
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.perspective {
/* 䏿¬¡å
空éãçæããããã«è¦ç¹ãå«ãã */
transform: perspective(400px) translateZ(-100px);
background-color: limegreen;
}
.scaled-translated {
/* 䏿¬¡å
空éãçæããããã«è¦ç¹ãå«ãã */
transform: perspective(400px) scaleZ(2) translateZ(-100px);
background-color: pink;
}
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Transforms Module Level 2 > # funcdef-scalez > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
scaleX()scaleY()transform<transform-function>transform-origin- ç¬ç«ãã座æ¨å¤æããããã£: