Spec-Zone.ru › CSS

`scaleZ()` CSS-функция

Базовый уровень Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с марта 2022 года.

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; (для создания 3D-пространства) и transform-style: preserve-3d; (чтобы дочерние элементы — 6 сторон куба — также располагались в 3D-пространстве).

Примечание: scaleZ(sz) эквивалентна scale3d(1, 1, sz).

Синтаксис

scaleZ(s)

Значения

s
Число <number>, задающее коэффициент масштабирования координаты z каждой точки элемента.
Декартовы координаты в ℝ^2 Однородные координаты в ℝℙ^2 Декартовы координаты в ℝ^3 Однородные координаты в ℝℙ^3
Это преобразование применяется к 3D-пространству и не может быть представлено на плоскости. (10001000s)\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & s \end{array} \right) (1000010000s00001)\left( \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & s & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)

Формальный синтаксис

Примеры

HTML

<div>Normal</div>
<div class="perspective">Translated</div>
<div class="scaled-translated">Scaled</div>

CSS

div {
  width: 80px;
  height: 80px;
  background-color: skyblue;
}

.perspective {
  /* Includes a perspective to create a 3D space */
  transform: perspective(400px) translateZ(-100px);
  background-color: limegreen;
}

.scaled-translated {
  /* Includes a perspective to create a 3D space */
  transform: perspective(400px) scaleZ(2) translateZ(-100px);
  background-color: pink;
}

Результат

Спецификации

Спецификация
Модуль преобразований CSS, уровень 2
# funcdef-scalez

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
scaleZ
12
12
10
15
4
18
10
14
3.2
1.0
3
3.2

См. также

  • scaleX()
  • scaleY()
  • transform
  • <transform-function>
  • transform-origin
  • Индивидуальные свойства преобразования:
    • translate
    • scale
    • rotate
    • Примечание: свойства skew не существует

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/transform-function/scaleZ

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API