perspective-origin

Задаёт координаты точки, куда смотрит наблюдатель. Это свойство работает совместно со свойством perspective и определяет точку сходимости линий при перспективе.

Краткая информация

Значение по умолчанию 50% 50%
Наследуется Нет
Применяется К трансформируемым элементам
Анимируется Да

Синтаксис

perspective-origin: <позиция>

Здесь <позиция>:

 [ <проценты> | <размер> | left | center | right | top | bottom] |
[[ <проценты> | <размер> | left | center | right ] && 
 [ <проценты> | <размер> | top | center | bottom ]]
Описание Пример
<тип> Указывает тип значения. <размер>
A && B Значения должны выводиться в указанном порядке. <размер> && <цвет>
A | B Указывает, что надо выбрать только одно значение из предложенных (A или B). normal | small-caps
A || B Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. width || count
[ ] Группирует значения. [ crop || cross ]
* Повторять ноль или больше раз. [,<время>]*
+ Повторять один или больше раз. <число>+
? Указанный тип, слово или группа не является обязательным. inset?
{A, B} Повторять не менее A, но не более B раз. <радиус>{1,4}
# Повторять один или больше раз через запятую. <время>#

Значения

Если указано только одно значение, то оно считается координатой X, два значения определяют вначале координату X, затем Y, при этом ключевые слова могут идти в произвольном порядке. Проценты задаются относительно ширины элемента, отсчёт координат начинается с его левого верхнего угла. Проценты, пиксели и другие единицы CSS могут быть отрицательными. Ниже приведено, как связаны между собой процентная запись и ключевые слова.

  • left = left center = 0 50% — центр левого края.
  • center = center center = 50% 50% — центральная точка.
  • right = right center = 100% 50% — центр правого края.
  • top = center top = 50% 0 — центр верхнего края.
  • bottom = center bottom 50% 100% — центр нижнего края
  • left top = 0 0 — левый верхний угол.
  • left bottom = 0 100% — левый нижний угол.
  • right top = 100% 0 — правый верхний угол.
  • right bottom = 100% 100% — правый нижний угол.

Песочница

Винни-Пух был всегда не прочь немного подкрепиться, в особенности часов в одиннадцать утра, потому что в это время завтрак уже давно окончился, а обед ещё и не думал начинаться. И, конечно, он страшно обрадовался, увидев, что Кролик достаёт чашки и тарелки.
div {
  perspective: 1000px;
  perspective-origin: {{ playgroundValue }}px;
}

Пример

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>perspective-origin</title> <style> .cube { font-size: 5em; width: 2em; height: 2em; margin: 1em auto; transform-style: preserve-3d; perspective: 500px; animation: move-origin infinite 2s; } .side { position: absolute; width: 2em; height: 2em; background: rgba(255, 99, 71, 0.6); border: 1px solid rgba(0, 0, 0, 0.5); color: white; text-align: center; line-height: 2em; } .front { transform: translateZ(1em); } .top { transform: rotateX( 90deg) translateZ(1em); } .right { transform: rotateY( 90deg) translateZ(1em); } .left { transform: rotateY(-90deg) translateZ(1em); } .bottom { transform: rotateX(-90deg) translateZ(1em); } .back { transform: rotateY(-180deg) translateZ(1em); } @keyframes move-origin { 0% { perspective-origin: 0 0; } 25% { perspective-origin: 100% 0; } 50% { perspective-origin: 100% 100%; } 75% { perspective-origin: 0 100%; } 100% { perspective-origin: 0 0; } } </style> </head> <body> <div class="cube"> <div class="side front">1</div> <div class="side back">6</div> <div class="side right">4</div> <div class="side left">3</div> <div class="side top">5</div> <div class="side bottom">2</div> </div> </body> </html>

Объектная модель

Объект.style.perspectiveOrigin

Примечание

Браузеры Chrome до версии 36, Opera до версии 23, Safari, Android понимают свойство -webkit-perspective-origin.

Firefox до версии 16 понимает свойство -moz-perspective-origin.

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

Спецификация Статус
CSS Transforms Level 1 Рабочий проект

Браузеры

10 12 12 36 15 23 4 10 16
3 10 16 15 6

В таблице браузеров применяются следующие обозначения.

  • — элемент полностью поддерживается браузером;
  • — элемент браузером не воспринимается и игнорируется;
  • — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

Число указывает версию браузреа, начиная с которой элемент поддерживается.