Spec-Zone.ru › CSS

Свойство CSS `scale`

Базовая поддержка Широко доступно

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

Свойство scale CSS позволяет задавать преобразования масштабирования независимо от свойства transform. Это лучше соответствует типичному использованию в пользовательских интерфейсах и избавляет от необходимости запоминать точный порядок функций преобразования, указываемых в значении transform.

Попробуйте

scale: none;
scale: 1.5;
scale: 1.7 50%;
scale: 1 -1;
scale: 1.2 1.2 2;
<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);
}

Синтаксис

/* Keyword values */
scale: none;

/* Single values */
/* values of more than 1 or 100% make the element grow */
scale: 2;
/* values of less than 1 or 100% make the element shrink */
scale: 50%;

/* Two values */
scale: 2 0.5;

/* Three values */
scale: 200% 50% 200%;

/* Global values */
scale: inherit;
scale: initial;
scale: revert;
scale: revert-layer;
scale: unset;

Значения

Одно значение
<number> или <percentage>, задающее коэффициент масштабирования, с которым затронутый элемент масштабируется в одинаковой степени по осям X и Y. Эквивалентно функции scale() (двумерное масштабирование) с одним указанным значением.
Два значения
Два значения <number> или <percentage>, задающие значения масштабирования по осям X и Y соответственно для двумерного масштабирования. Эквивалентно функции scale() (двумерное масштабирование) с двумя указанными значениями.
Три значения
Три значения <number> или <percentage>, задающие значения масштабирования по осям X, Y и Z соответственно для трёхмерного масштабирования. Эквивалентно функции scale3d() (трёхмерное масштабирование).
none
Указывает, что масштабирование не применяется.

Формальное определение

Начальное значение none
Применяется к элементам, допускающим преобразование
Наследуется нет
Вычисленное значение как указано
Тип анимации преобразование

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

scale = 
  none |
  [ <number> | <percentage> ]{1,3}

Примеры

Масштабирование элемента при наведении

В следующем примере показано, как масштабировать элемент при наведении. Показаны два блока: у первого указано одно значение scale, которое масштабирует элемент по обеим осям. У второго блока указаны два значения scale, которые независимо масштабируют элемент по осям X и Y.

HTML

<div class="box" id="box1">single value</div>
<div class="box" id="box2">two values</div>

CSS

.box {
  float: left;
  margin: 1em;
  width: 7em;
  line-height: 7em;
  text-align: center;
  transition: 0.5s ease-in-out;
  border: 3px dotted;
}

#box1:hover {
  scale: 1.25;
}

#box2:hover {
  scale: 1.25 0.75;
}

Результат

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

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

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

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
scale
104
104
72
90
14.1
104
79
71
14.5
20.0
104
14.5
none
104
104
72
90
14.1
104
79
71
14.5
20.0
104
14.5

См. также

  • translate
  • rotate
  • transform

Примечание: 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/Properties/scale

Spec-Zone.ru

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