scale3d()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
scale3d() CSS ÑÑнкÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÑÐµÑ ÑÐ°Ð·Ð¼ÐµÑ ÑлеменÑа. ÐлагодаÑÑ Ð²ÐµÐ»Ð¸Ñине маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð¿ÑеделÑнной векÑоÑом, Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ ÑазлиÑнÑе ÑазмеÑÑ Ð² ÑазнÑÑ
маÑÑÑабаÑ
.
ÐÑо пÑеобÑазование Ñ Ð°ÑакÑеÑизÑеÑÑÑ Ð²ÐµÐºÑоÑом, кооÑдинаÑÑ ÐºÐ¾ÑоÑого опÑеделÑÑÑ, ÑколÑко маÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑполнÑеÑÑÑ Ð² каждом напÑавлении. ÐÑли вÑе ÑÑи кооÑдинаÑÑ Ð²ÐµÐºÑоÑа ÑавнÑ, маÑÑÑабиÑование ÑавномеÑно или изоÑÑопно, а ÑоÑма ÑлеменÑа ÑÐ¾Ñ ÑанÑеÑÑÑ. Ð ÑÑом ÑлÑÑае ÑÑнкÑÐ¸Ñ Ð¼Ð°ÑÑÑабиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð¿ÑеделÑÐµÑ Ð³Ð¾Ð¼Ð¾ÑеÑиÑеÑкое пÑеобÑазование.
Ðогда вне диапазона [-1, 1], маÑÑÑабиÑование ÑвелиÑÐ¸Ð²Ð°ÐµÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² напÑавлении кооÑдинаÑÑ; Ðогда внÑÑÑи диапазона он ÑÐ¶Ð¸Ð¼Ð°ÐµÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð² ÑÑом напÑавлении. ÐÑи Ñавном 1 он ниÑего не делаеÑ, а когда оÑÑиÑаÑелÑнÑй, он вÑполнÑÐµÑ ÑоÑеÑное оÑÑажение и модиÑикаÑÐ¸Ñ ÑазмеÑа.
СинÑакÑиÑ
scale3d(sx, sy, sz)
ÐнаÑениÑ
- sx
-
ЯвлÑеÑÑÑ
<number>, пÑедÑÑавлÑÑÑим абÑÑиÑÑ Ð²ÐµÐºÑоÑа маÑÑÑабиÑованиÑ. - sy
-
ЯвлÑеÑÑÑ
<number>, пÑедÑÑавлÑÑÑим оÑдинаÑÑ Ð²ÐµÐºÑоÑа маÑÑÑабиÑованиÑ. - sz
-
ЯвлÑеÑÑÑ
<number>, пÑедÑÑавлÑÑÑим z-ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ Ð¼Ð°ÑÑÑабиÑÑÑÑего векÑоÑа.
| Cartesian coordinates on â2 | Homogeneous coordinates on ââ2 | Cartesian coordinates on â3 | Homogeneous coordinates on ââ3 |
|---|---|---|---|
| ÐÑо пÑеобÑазование пÑименÑеÑÑÑ Ðº пÑоÑÑÑанÑÑÐ²Ñ 3D и не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑедÑÑавлено на плоÑкоÑÑи. | |||
ÐÑимеÑÑ
>Without changing the origin
HTML
<p>foo</p>
<p class="transformed">bar</p>
CSS
p {
width: 50px;
height: 50px;
background-color: teal;
}
.transformed {
transform: perspective(500px) scale3d(0.8, 2, 0.2) translateZ(100px);
background-color: blue;
}
Result
Translating the origin of the transformation
HTML
<p>foo</p>
<p class="transformed">bar</p>
CSS
p {
width: 50px;
height: 50px;
background-color: teal;
}
.transformed {
transform: scale3d(2, 3, 0);
transform-origin: center;
background-color: blue;
}