Firefox Tomorrow

css property

`perspective-origin` CSS property

View on MDN ↗

The perspective-origin CSS property determines the position at which the viewer is looking. It is used as the vanishing point by the perspective property.

Interactive exampleOpen the canonical MDN source to run this embedded demo.
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);
}

The perspective-origin and perspective properties are attached to the parent of a child transformed in 3-dimensional space, unlike the perspective() transform function which is placed on the element being transformed.

Syntax

/* 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;

Values

  • x-position

    • : Indicates the position of the abscissa of the vanishing point. It can have one of the following values:
      • &lt;length-percentage&gt; indicating the position as an absolute length value or relative to the width of the element. The value may be negative.
      • left, a keyword being a shortcut for the 0 length value.
      • center, a keyword being a shortcut for the 50% percentage value.
      • right, a keyword being a shortcut for the 100% percentage value.
  • y-position

    • : Indicates the position of the ordinate of the vanishing point. It can have one of the following values:
      • &lt;length-percentage&gt; indicating the position as an absolute length value or relative to the height of the element. The value may be negative.
      • top, a keyword being a shortcut for the 0 length value.
      • center, a keyword being a shortcut for the 50% percentage value.
      • bottom, a keyword being a shortcut for the 100% percentage value.

Formal definition

Formal syntax

Examples

Changing the perspective origin

An example showing how to change perspective-origin is given in Using CSS transforms > Changing the perspective origin.

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also