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(1000px) 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

Браузеры

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

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

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

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

Автор: Влад Мержевич
Последнее изменение: 31.08.2017
Редакторы: Влад Мержевич