Spec-Zone.ru › CSS

CSS-свойство `perspective-origin`

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

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

CSS-свойство perspective-origin CSS определяет положение, в котором находится точка наблюдения. Оно используется в качестве точки схода свойством perspective.

Свойства perspective-origin и perspective задаются для родительского элемента преобразуемого дочернего элемента в трёхмерном пространстве, в отличие от функции преобразования perspective(), которая задаётся для преобразуемого элемента.

Попробуйте

perspective-origin: center;
perspective-origin: top;
perspective-origin: bottom right;
perspective-origin: -170%;
perspective-origin: 500% 200%;
<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: 550px;
}

#example-element {
  width: 100px;
  height: 100px;
  transform-style: preserve-3d;
  perspective: 250px;
}

.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);
}

Синтаксис

/* One-value syntax */
perspective-origin: x-position;

/* Two-value syntax */
perspective-origin: x-position y-position;

/* When both x-position and y-position are keywords,
   the following is also valid */
perspective-origin: y-position x-position;

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

Значения

x-position
Задаёт положение абсциссы точки схода. Возможны следующие значения:
  • <length-percentage> — задаёт положение абсолютным значением длины или относительно ширины элемента. Значение может быть отрицательным.
  • left — ключевое слово, сокращённая запись значения длины 0.
  • center — ключевое слово, сокращённая запись процентного значения 50%.
  • right — ключевое слово, сокращённая запись процентного значения 100%.
y-position
Задаёт положение ординаты точки схода. Возможны следующие значения:
  • <length-percentage> — задаёт положение абсолютным значением длины или относительно высоты элемента. Значение может быть отрицательным.
  • top — ключевое слово, сокращённая запись значения длины 0.
  • center — ключевое слово, сокращённая запись процентного значения 50%.
  • bottom — ключевое слово, сокращённая запись процентного значения 100%.

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

Исходное значение 50% 50%
Применяется к преобразуемым элементам
Наследуется нет
Проценты относительно размеров ограничивающего прямоугольника
Вычисленное значение для <length> — абсолютное значение, в остальных случаях — процентное значение
Тип анимации простое значение типа «длина», «процент» или «calc»

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

perspective-origin = 
  <position>

<position> = 
  [ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]

<length-percentage> = 
  <length> |
  <percentage>

Примеры

Изменение точки наблюдения

Пример изменения perspective-origin приведён в разделе Использование CSS-преобразований > Изменение точки наблюдения.

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

Спецификация
Модуль CSS Transforms, уровень 2
# perspective-origin-property

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

Настольные компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
perspective-origin
36
12
12
12
16
49
10
23
15
9
4
36
18
16
49
10
24
14
9
2
3.0
1.0
4.4
3
9
2
bottom
12
12
10
15
4
18
10
14
2
1.0
4.4
2
center
12
12
10
15
4
18
10
14
2
1.0
4.4
2
left
12
12
10
15
4
18
10
14
2
1.0
4.4
2
right
12
12
10
15
4
18
10
14
2
1.0
4.4
2
top
12
12
10
15
4
18
10
14
2
1.0
4.4
2
x-end
Нет
Нет
Нет
Нет
26
Нет
Нет
Нет
26
Нет
Нет
26
x-start
Нет
Нет
Нет
Нет
26
Нет
Нет
Нет
26
Нет
Нет
26
y-end
Нет
Нет
Нет
Нет
26
Нет
Нет
Нет
26
Нет
Нет
26
y-start
Нет
Нет
Нет
Нет
26
Нет
Нет
Нет
26
Нет
Нет
26

См. также

  • Использование CSS-преобразований
  • transform-style
  • <transform-function>
  • perspective
  • функция transform: perspective()

© 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-origin

Spec-Zone.ru

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