Свойство 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;
}
Результат
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
Примечание: 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