Skip to content

Latest commit

 

History

History
84 lines (68 loc) · 2.18 KB

08-css-display.md

File metadata and controls

84 lines (68 loc) · 2.18 KB

08 - Display

Vimos anteriormente que todos os nossos elementos funcionam como uma caixa e que essa caixa tem um certo tamanho (largura e altura). Vamos entender agora como essas caixas são posicionadas na tela e como alterar esse posicionamento com a propriedade display.

Block

Algumas tags do nosso HTML não permitem que outros elementos fiquem lado a lado. Elas ocupam todo o espaço da linha mesmo que o conteúdo não precise desse espaço. A tag div é um ótimo exemplo:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div>
    Kelvin
  </div>
  <div>
    Kraken
  </div>
</body>
</html>

No exemplo acima os nomes serão renderizados um acima do outro, isso acontece porque o comportamento padrão da div é block. Isso significa que a tag irá ocupar todo o espaço da linha não permitindo que outros elementos fiquem ao seu lado.

Inline

Ao contrário da opção block os elementos inline ocupam apenas o espaço necessário pelo seu conteúdo permitindo assim que outros elementos ocupem o espaço restante na linha. Vamos ver um exemplo:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <span>
    Kelvin
  </span>
  <span>
    Kraken
  </span>
</body>
</html>

A tag span tem por padrão o comportamento inline, isso significa que a tag irá ocupar apenas o espaço necessário para o texto fazendo com que os nomes sejam renderizados lado a lado.

Alterando o comportamento padrão:

Podemos facilmente modificar o comportamento padrão de uma tag usando a propriedade display, vamos voltar ao primeiro exemplo e ver como deixar nossas div's ficarem lado a lado como um elemento inline:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div>
    Kelvin
  </div>
  <div>
    Kraken
  </div>
</body>
</html>

Vamos sobrescrever o comportamento da nossa tag div usando o display:

  div {
    display: inline;
  }

Com isso a tag div irá se comportar como um elemento inline deixando os nomes um ao lado do outro.