W3docs

Propriedade CSS top

A propriedade CSS top define a posição superior de um elemento em combinação com a propriedade position. Veja exemplos e experimente você mesmo.

A propriedade CSS top define a posição vertical de um elemento posicionado, medida a partir da borda superior do bloco de referência. Por si só, ela não faz nada — só tem efeito quando o elemento também possui um valor position diferente do padrão static.

Esta página explica como top se comporta para cada valor de position, as unidades que podem ser utilizadas, armadilhas comuns e como ela se combina com bottom, left e right.

Como top funciona

O bloco de referência em relação ao qual top é medido — e o significado do deslocamento — depende do position do elemento:

  • position: absolute ou fixedtop desloca o elemento a partir da borda superior do seu bloco contentor (para absolute, o ancestral posicionado mais próximo; para fixed, o viewport). Um valor maior de top empurra o elemento mais para baixo.
  • position: relativetop desloca o elemento para baixo a partir de onde ele normalmente estaria, sem afetar o layout dos elementos ao redor. O espaço que ele ocupava originalmente é preservado.
  • position: stickytop é a distância a partir do topo do contêiner de rolagem em que o elemento "gruda" durante a rolagem. top: 0 faz com que ele grude no topo absoluto.
  • position: statictop é completamente ignorado. Este é o padrão, portanto sempre defina position primeiro.

Se tanto top quanto bottom forem especificados em um elemento absolutamente posicionado com altura auto, o elemento será esticado para satisfazer ambos; caso contrário, top prevalece e bottom é ignorado.

Informação

Valores negativos são permitidos — top: -20px puxa um elemento com posição absoluta ou fixa acima da sua borda de referência, e puxa um elemento com posição relativa acima da sua posição normal.

Valor Inicialauto
Aplica-se aElementos posicionados.
HerdadoNão.
AnimávelSim.
VersãoCSS2
Sintaxe DOMObject.style.top = "50px";

Sintaxe

Sintaxe da propriedade CSS top

top: auto | length | initial | inherit;

Exemplo da propriedade top:

Exemplo da propriedade CSS top com valor de comprimento

<!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

Propriedade CSS top

Exemplo da propriedade top com valor negativo:

Exemplo da propriedade CSS top com 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>

Exemplo da propriedade top definida em "pt", "%" e "em":

Exemplo da propriedade top com valores "pt", "%" e "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

ValorDescriçõesExperimente
autoDefine a posição da borda superior. É o valor padrão desta propriedade.Experimente »
lengthDefine a posição da borda superior com px, cm etc. Valores negativos são válidos.Experimente »
%Define a posição da borda superior com % do elemento contentor. Valores negativos são válidos.Experimente »
initialFaz a propriedade usar seu valor padrão.Experimente »
inheritHerda a propriedade do elemento pai.

Quando se usa um valor percentual, ele é calculado em relação à altura do bloco contentor, não à sua largura. Portanto, top: 50% em um elemento absolutamente posicionado o move para baixo em metade da altura do elemento pai.

Armadilhas comuns

  • Esquecer o position. top não tem efeito em um elemento static. Se o deslocamento parece ser ignorado, verifique se position está definido como relative, absolute, fixed ou sticky.
  • Ancestral posicionado ausente. Um elemento absolute é deslocado em relação ao seu ancestral posicionado mais próximo. Se não houver nenhum, ele recorre ao bloco contentor inicial (a raiz do tamanho do viewport). Adicione position: relative ao elemento pai para contê-lo.
  • sticky não fica fixo. position: sticky só funciona enquanto o elemento rola dentro de um ancestral que realmente tem overflow. Um valor de top sem contêiner rolável, ou um pai com overflow: hidden, parecerá não fazer nada.
  • Usar tanto top quanto bottom. Em um elemento absoluto com altura auto, eles o esticam; caso contrário, top tem prioridade e bottom é descartado.

Propriedades relacionadas

  • position — necessário para que top tenha efeito.
  • bottom, left, right — as outras propriedades de deslocamento, usadas em conjunto com top para posicionar elementos.
  • z-index — controla a ordem de empilhamento quando elementos posicionados se sobrepõem.

Praticar

Prática
O que a propriedade CSS 'top' faz?
O que a propriedade CSS 'top' faz?
Was this page helpful?