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 Module Level 2Рабочий проект

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

Каждая спецификация проходит несколько стадий одобрения.

  • Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
  • Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
  • Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
  • Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
  • Editor's draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
  • Draft (Черновик спецификации) — первая черновая версия стандарта.

Браузеры

10121236152341016
31016156

Браузеры

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

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

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

Автор и редакторы

Автор: Влад Мержевич
Последнее изменение: 02.03.2020
Редакторы: Влад Мержевич
Как научиться разрабатывать сайты