W3docs

Propiedad CSS top

La propiedad CSS top especifica la posición superior de un elemento junto con la propiedad position. Encuentra ejemplos y pruébalos tú mismo.

La propiedad CSS top establece la posición vertical de un elemento posicionado, medida desde el borde superior de un bloque de referencia. Por sí sola no hace nada — solo surte efecto cuando el elemento tiene también un valor de position distinto al predeterminado static.

Esta página explica cómo se comporta top con cada valor de position, las unidades que puedes utilizarle, los errores comunes y cómo se combina con bottom, left y right.

Cómo funciona top

El bloque de referencia desde el que se mide top — y el significado del desplazamiento — depende de la position del elemento:

  • position: absolute o fixedtop desplaza el elemento desde el borde superior de su bloque contenedor (en absolute, el ancestro posicionado más cercano; en fixed, el viewport). Un valor mayor de top empuja el elemento hacia abajo.
  • position: relativetop desplaza el elemento hacia abajo desde donde normalmente estaría, sin afectar el diseño de los elementos circundantes. El espacio que ocupaba originalmente se conserva.
  • position: stickytop es la distancia desde la parte superior del contenedor de desplazamiento en la que el elemento "se adhiere" mientras se hace scroll. top: 0 lo hace adherirse al borde superior.
  • position: statictop se ignora por completo. Este es el valor predeterminado, por lo que siempre debes establecer position primero.

Si se especifican tanto top como bottom en un elemento posicionado absolutamente cuya altura es auto, el elemento se estira para satisfacer ambos; en caso contrario, top tiene prioridad y se ignora bottom.

Información

Se permiten valores negativos — top: -20px desplaza un elemento posicionado de forma absoluta o fija por encima de su borde de referencia, y desplaza un elemento posicionado de forma relativa por encima de su posición normal.

Valor inicialauto
Se aplica aElementos posicionados.
Se heredaNo.
AnimableSí.
VersiónCSS2
Sintaxis DOMObject.style.top = "50px";

Sintaxis

Sintaxis de la propiedad CSS top

top: auto | length | initial | inherit;

Ejemplo de la propiedad top:

Ejemplo de la propiedad CSS top con valor de longitud

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        background-color: #8ebf42;
        height: 200px;
        width: 600px;
        position: relative;
      }
      p {
        margin: 0;
        color: #eee;
        position: absolute;
        border: 2px solid #666;
      }
      .ex1 {
        top: 0;
      }
      .ex2 {
        top: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Top property example</h2>
    <div>
      <p class="ex1">Some text (top: 0;)</p>
      <p class="ex2">
        Lorem ipsum is simply dummy text...(this text is positioned 50 pixels down from the top edge of the containing positioned element.)
      </p>
    </div>
  </body>
</html>

Resultado

Propiedad CSS top

Ejemplo de la propiedad top con un valor negativo:

Ejemplo de la propiedad CSS top con valor negativo

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        background-color: #666;
        height: 200px;
        position: relative;
      }
      p {
        margin: 0;
        color: #fff;
      }
      .top {
        position: absolute;
        top: -35px;
        color: #000000;
      }
    </style>
  </head>
  <body>
    <h2>Top property example</h2>
    <div>
      <p>Some text.</p>
      <p class="top">Text with the top property.</p>
    </div>
  </body>
</html>

Ejemplo de la propiedad top definida en "pt", "%" y "em":

Ejemplo de la propiedad top con valores "pt", "%" y "em":

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      div {
        background-color: #8ebf42;
        height: 200px;
        width: 600px;
        position: relative;
      }
      p {
        margin: 0;
        color: #eee;
        position: absolute;
        border: 2px solid #666;
      }
      .ex1 {
        top: 5em;
      }
      .ex2 {
        top: 10pt;
      }
      .ex3 {
        top: 75%;
      }
    </style>
  </head>
  <body>
    <h2>Top property example</h2>
    <div>
      <p class="ex1">Some text (top: 0;)</p>
      <p class="ex2">
        Lorem ipsum is simply dummy text...(this text is positioned 50 pixels down from the top edge of the containing positioned element.)
      </p>
      <p class="ex3">
        Lorem ipsum is simply dummy text...(this text is positioned 50 pixels down from the top edge of the containing positioned element.)
      </p>
    </div>
  </body>
</html>

Valores

ValorDescripciónPruébalo
autoEstablece la posición del borde superior. Es el valor predeterminado de esta propiedad.Pruébalo »
lengthEstablece la posición del borde superior con px, cm, etc. Se permiten valores negativos.Pruébalo »
%Establece la posición del borde superior con % del elemento contenedor. Se permiten valores negativos.Pruébalo »
initialHace que la propiedad use su valor predeterminado.Pruébalo »
inheritHereda la propiedad de su elemento padre.

Cuando usas un valor porcentual, se calcula en relación con la altura del bloque contenedor, no con su anchura. Así, top: 50% en un elemento posicionado absolutamente lo desplaza hacia abajo la mitad de la altura del padre.

Errores comunes

  • Olvidar position. top no tiene efecto en un elemento static. Si tu desplazamiento parece ignorado, verifica que position esté establecido en relative, absolute, fixed o sticky.
  • Falta de ancestro posicionado. Un elemento absolute se desplaza desde su ancestro posicionado más cercano. Si no existe ninguno, recurre al bloque contenedor inicial (la raíz del tamaño del viewport). Dale al padre position: relative para contenerlo.
  • sticky no se adhiere. position: sticky solo funciona mientras el elemento se desplaza dentro de un ancestro que realmente tenga desbordamiento. Un valor top sin un contenedor con scroll, o un padre con overflow: hidden, parecerá no hacer nada.
  • Usar tanto top como bottom. En un elemento absoluto con altura auto lo estiran; de lo contrario, top tiene prioridad y se descarta bottom.

Propiedades relacionadas

  • position — necesaria para que top tenga efecto.
  • bottom, left, right — las otras propiedades de desplazamiento, usadas junto con top para posicionar elementos.
  • z-index — controla el orden de apilamiento cuando los elementos posicionados se superponen.

Práctica

Práctica
¿Qué hace la propiedad CSS 'top'?
¿Qué hace la propiedad CSS 'top'?
Was this page helpful?