Saltar al contenido

Propiedad perspective-origin de CSS

perspective-origin define la posición desde la cual el usuario observa el elemento posicionado en 3D.

La propiedad perspective-origin es una de las propiedades de CSS3.

La propiedad perspective utiliza el valor de perspective-origin como punto de fuga. Por defecto, el punto de fuga de un espacio 3D se encuentra en el centro. La propiedad perspective-origin puede utilizarse para cambiar la posición del punto de fuga.

La propiedad perspective-origin debe utilizarse junto con la propiedad perspective en el mismo elemento o en un ancestro para que surta efecto.

Cuando se especifican dos o más valores pero ninguno es una palabra clave, el primer valor describe la posición horizontal y el segundo describe la posición vertical. Si solo se define un valor, se sobreentiende que el segundo es el valor central.

INFO

Solo el elemento hijo obtiene una vista en perspectiva, no el elemento en sí.

Valor inicial50% 50%
Se aplica aElementos transformables.
HeredadoNo.
AnimableSí. La transformación de la perspectiva es animable.
VersiónCSS3
Sintaxis DOMobject.style.perspectiveOrigin = "20px 70%";

Sintaxis

Sintaxis de CSS para perspective-origin

css
perspective-origin: x-position y-position | x | y | closest-side | farthest-side | initial | inherit;

Ejemplo de la propiedad perspective-origin:

Ejemplo de código CSS para perspective-origin

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .element1 {
        position: relative;
        height: 150px;
        width: 150px;
        margin-left: 60px;
        border: 1px solid #666;
        perspective: 130px;
        perspective-origin: 50% 50%;
      }
      .element2 {
        padding: 50px;
        position: absolute;
        border: 1px solid #000;
        background: #8ebf42;
        transform-style: preserve-3d;
        transform: rotateX(45deg);
      }
    </style>
  </head>
  <body>
    <h2>Perspective-origin property example</h2>
    <h3>Perspective-origin: 50% 50%:</h3>
    <div class="element1">
      Box1
      <div class="element2">Box2</div>
    </div>
  </body>
</html>

Resultado

SS perspective-origin left value

Ejemplo de la propiedad perspective-origin con el valor "left":

Ejemplo de valor "left" en CSS para perspective-origin

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .element1 {
        position: relative;
        height: 150px;
        width: 150px;
        margin-left: 20px;
        border: 1px solid #666;
        perspective: 80px;
        perspective-origin: left;
      }
      .element2 {
        padding: 50px;
        position: absolute;
        border: 1px solid #000;
        background: #8ebf42;
        transform-style: preserve-3d;
        transform: rotateX(45deg);
      }
    </style>
  </head>
  <body>
    <h2>Perspective-origin property example</h2>
    <h3>Perspective-origin: left:</h3>
    <div class="element1">
      Box1
      <div class="element2">Box2</div>
    </div>
  </body>
</html>

Ejemplo de la propiedad perspective-origin con el valor "right":

Ejemplo de valor "right" en CSS para perspective-origin

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .element1 {
        position: relative;
        height: 150px;
        width: 150px;
        margin-left: 160px;
        border: 1px solid #666;
        perspective: 80px;
        perspective-origin: right;
      }
      .element2 {
        padding: 50px;
        position: absolute;
        border: 1px solid #000;
        background: #8ebf42;
        transform-style: preserve-3d;
        transform: rotateX(45deg);
      }
    </style>
  </head>
  <body>
    <h2>Perspective-origin property example</h2>
    <h3>Perspective-origin: right:</h3>
    <div class="element1">
      Box1
      <div class="element2">Box2</div>
    </div>
  </body>
</html>

Ejemplo de la propiedad perspective-origin definida como "bottom right":

Ejemplo de valor bottom en CSS para perspective-origin

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .element1 {
        position: relative;
        height: 150px;
        width: 150px;
        margin-left: 60px;
        border: 1px solid #666;
        perspective: 130px;
        perspective-origin: bottom right;
      }
      .element2 {
        padding: 50px;
        position: absolute;
        border: 1px solid #000;
        background: #8ebf42;
        transform-style: preserve-3d;
        transform: rotateX(45deg);
      }
    </style>
  </head>
  <body>
    <h2>Perspective-origin property example</h2>
    <h3>Perspective-origin: bottom right:</h3>
    <div class="element1">
      Box1
      <div class="element2">Box2</div>
    </div>
  </body>
</html>

Valores

ValorDescripción
x-positionEspecifica la posición de la vista en el eje x. Puede tener los siguientes valores: - left, que equivale al valor de longitud 0. - right, que equivale al valor porcentual del 100%. - center, que equivale al valor porcentual del 50%. - length - percentage.
y-positionEspecifica la posición de la vista en el eje y. Puede tener los siguientes valores: - top, que equivale al valor de longitud 0. - center, que equivale al valor porcentual del 50%. - bottom, que equivale al valor porcentual del 100%. - length
xEstablece la posición horizontal en el centro (50%).
yEstablece la posición vertical en el centro (50%).
closest-sideEstablece el origen de la perspectiva en el lado más cercano del elemento.
farthest-sideEstablece el origen de la perspectiva en el lado más lejano del elemento.
initialEstablece esta propiedad en su valor predeterminado.
inheritHereda esta propiedad de su elemento padre.

Practice

¿Qué hace la propiedad CSS 'perspective-origin'?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.