CSS-свойство `perspective`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она поддерживается во всех браузерах с марта 2022 года.
perspective — это свойство CSS, которое определяет расстояние между плоскостью z=0 и пользователем, чтобы придать элементу с 3D-позиционированием перспективу.
Попробуйте
perspective: none;
perspective: 800px;
perspective: 23rem;
perspective: 5.5cm;
<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 value */ perspective: none; /* <length> values */ perspective: 20px; perspective: 3.5em; /* Global values */ perspective: inherit; perspective: initial; perspective: revert; perspective: revert-layer; perspective: unset;
Значения
-
none - Указывает, что преобразование перспективы не применяется.
-
<length> <length>, задающее расстояние от пользователя до плоскости z=0. Оно используется для применения преобразования перспективы к дочерним элементам. Отрицательные значения являются синтаксическими ошибками. Если значение меньше1px, оно ограничивается значением1px.
Описание
Каждый 3D-элемент с z>0 становится больше; каждый 3D-элемент с z<0 становится меньше. Сила эффекта определяется значением этого свойства. Большие значения perspective вызывают небольшое преобразование; малые значения perspective вызывают большое преобразование.
Части 3D-элементов, находящиеся позади пользователя — то есть имеющие координаты по оси z больше значения свойства CSS perspective, — не отображаются.
Точка схода по умолчанию располагается в центре элемента, но её положение можно изменить с помощью свойства perspective-origin.
Использование этого свойства со значением, отличным от none, создаёт новый контекст наложения. Кроме того, в этом случае объект будет выступать в качестве содержащего блока для вложенных в него элементов position: fixed.
Формальное определение
| Начальное значение | none |
|---|---|
| Применяется к | преобразуемым элементам |
| Наследуется | нет |
| Вычисленное значение | абсолютная длина или <code>none</code> |
| Тип анимации | <a href="/en-US/docs/Web/CSS/Reference/Values/length#interpolation" title="Значения CSS-типа данных <length> интерполируются как действительные числа с плавающей точкой.">длина</a> |
Формальный синтаксис
perspective =
none |
<length>
Примеры
Настройка перспективы
Пример того, как меняется куб при установке perspective в разных положениях, приведён в разделе Использование CSS-преобразований > Настройка перспективы.
Спецификации
Совместимость с браузерами
| Настольные устройства | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
perspective |
36
12
|
12
12
|
16
49Начиная с версии 147, Firefox поддерживает-webkit-perspective с безразмерными значениями для лучшей совместимости.10
|
23
15
|
9
4
|
36
18
|
16
49Начиная с версии 147, Firefox для Android поддерживает-webkit-perspective с безразмерными значениями для лучшей совместимости.10
|
24
14
|
9В iOS 13 свойствоperspective работало неправильно. Проблемы были исправлены в iOS 14.2
|
3.0
1.0
|
4.4
3
|
9В iOS 13 свойствоperspective работало неправильно. Проблемы были исправлены в iOS 14.2
|
none |
12 |
12 |
10 |
15 |
4 |
18 |
10 |
14 |
3.2 |
1.0 |
4.4 |
3.2 |
См. также
© 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/perspective