perspective()

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

Синтаксис

transform: perspective(<размер>)

Обозначения

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

Значения

В качестве значения указывается расстояние от плоскости монитора до точки сходимости линий. Нулевое или отрицательное значение отменяет действие перспективы. Чем меньше значение, тем более выраженной выглядит перспектива и наоборот.

Песочница

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

Пример

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>perspective()</title> <style> body { background: #000; color: #ffe919; } @keyframes scroll { from { top: 100%; } to { top: -100%; } } .titles { position: absolute; width: 18em; height: 50em; bottom: 0; left: 50%; margin-left: -9em; font-size: 2em; line-height: 1.5; text-align: justify; transform-origin: 50% 100%; transform: perspective(300px) rotateX(25deg); overflow: hidden; } .content { position: absolute; top: 100%; animation: scroll 90s linear infinite; } </style> </head> <body> <div class="titles"> <div class="content"><p>В Галактике бушует гражданская война. Корабли повстанцев, нанеся удар с тайной базы, одержали первую победу над жестокой Галактической Империей.</p> <p>Во время сражения шпионы повстанцев смогли добыть секретные чертежи супероружия Империи — ЗВЕЗДЫ СМЕРТИ, укрепленной космической станции, обладающей достаточной огневой мощью, чтобы уничтожить целую планету.</p> <p>Преследуемая зловещими агентами Империи, принцесса Лея летит домой на своем корабле, везя с собой украденные чертежи, которые могут спасти её народ и вернуть свободу галактике...</p> </div> </div> </body> </html>

Примечание

Chrome до версии 36, Opera до версии 23, Safari до версии 9 и Android поддерживают свойство -webkit-transform.

Firefox до версии 16 поддерживает свойство -moz-transform.

Браузеры

101212361523491016
31016373.29.2

Браузеры

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

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

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

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

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