Saltar al contenido

Propiedad CSS transform-origin

La propiedad transform-origin te permite cambiar el origen de la transformación de un elemento.

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

La propiedad transform-origin solo surte efecto cuando se aplica una función de transformación al elemento a través de la propiedad transform.

Esta propiedad puede especificarse mediante palabras clave de desplazamiento, valores de longitud o valores porcentuales.

INFO

Históricamente, se utilizaba el prefijo -webkit- para Safari, Chrome y versiones antiguas de Opera. Los navegadores modernos ya no requieren prefijos de proveedor para esta propiedad.

Valor inicial50% 50% 0
Se aplica aElementos transformables.
HeredableNo.
AnimableSí. El grado es animable.
VersiónCSS3
Sintaxis DOMObject.style.transform-origin = "10% 30%";

Sintaxis

Valores de CSS transform-origin

css
transform-origin: x-offset y-offset z-offset | initial | inherit;

Ejemplo de la propiedad transform-origin:

Ejemplo de código CSS transform-origin

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .big {
        position: relative;
        height: 300px;
        width: 300px;
        margin: 80px;
        padding: 5px;
        border: 2px solid #666666;
        background-color: #eeeeee;
      }
      .little {
        padding: 60px;
        position: absolute;
        border: 2px solid #666666;
        background-color: #8ebf42;
        -webkit-transform: rotate(35deg);
        -webkit-transform-origin: 70% 90%;
        transform: rotate(35deg);
        transform-origin: 70% 90%;
      }
    </style>
  </head>
  <body>
    <h2>Transform-origin property example</h2>
    <div class="big">
      <div class="little">Box</div>
    </div>
  </body>
</html>

Resultado

CSS transform-origin

Otro ejemplo que muestra la diferencia entre los valores.

Ejemplo de transform-origin con cuatro valores:

Otro ejemplo de código CSS transform-origin

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      body {
        background-color: #eeeeee;
        font-size: 1.1em;
        font-family: 'Roboto', Helvetica, sans-serif;
      }
      .container {
        margin: 10px auto;
        max-width: 700px;
      }
      .wrap {
        width: 150px;
        height: 150px;
        border: 2px solid #666666;
        display: inline-block;
        margin: 100px;
      }
      .box {
        width: 150px;
        height: 150px;
        position: relative;
        color: #eeeeee;
        text-align: center;
        line-height: 150px;
        -webkit-transform: rotate(25deg);
        transform: rotate(25deg);
      }
      .a {
        background-color: #0747af;
      }
      .b {
        background-color: #40b530;
        -webkit-transform-origin: top left;
        transform-origin: top left;
      }
      .c {
        background-color: #666666;
        -webkit-transform-origin: 90% 120%;
        transform-origin: 90% 120%;
      }
      .d {
        background-color: #ffdb11;
        -webkit-transform-origin: 80px 40px;
        transform-origin: 80px 40px;
      }
    </style>
  </head>
  <body>
    <h2>Transform-origin property example</h2>
    <div class="container">
      <div class="wrap">
        <div class="box a">
          50% 50%
        </div>
      </div>
      <div class="wrap">
        <div class="box b">
          top left
        </div>
      </div>
      <div class="wrap">
        <div class="box c">
          90% 120%
        </div>
      </div>
      <div class="wrap">
        <div class="box d">
          80px 40px
        </div>
      </div>
    </div>
  </body>
</html>

Valores

ValorDescripción
x-offsetEspecifica la posición horizontal. Acepta palabras clave (left, center, right), longitudes o porcentajes.
y-offsetEspecifica la posición vertical. Acepta palabras clave (top, center, bottom), longitudes o porcentajes.
z-offsetEspecifica la posición de profundidad a lo largo del eje z para transformaciones 3D. Acepta valores de longitud.
initialEstablece esta propiedad en su valor predeterminado.
inheritHereda esta propiedad de su elemento padre.

Práctica

La propiedad transform-origin solo funciona con

¿Te resulta útil?

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