Como alinhar uma div ao topo de seu pai, mas mantendo seu comportamento de bloco embutido?


171

Veja: http://jsfiddle.net/b2BpB/1/

P: Como você pode alinhar a caixa1 e a caixa3 à parte superior da div principal boxContainer?

#boxContainerContainer {
  background: #fdd;
  text-align: center;
}

#boxContainer {
  display: inline-block;
  border: thick dotted #060;
  margin: 0px auto 10px auto;
  text-align: left;
}

#box1 {
  width: 50px;
  height: 50px;
  background: #999;
  display: inline-block;
}

#box2 {
  width: 50px;
  height: 100px;
  background: #999;
  display: inline-block;
}

#box3 {
  width: 50px;
  height: 50px;
  background: #999;
  display: inline-block;
}

Ajuda muito apreciada ...

Agradecimento: Esta pergunta é bifurcada de uma resposta fornecida anteriormente por https://stackoverflow.com/users/20578/paul-d-waite : Conseguindo que um elemento CSS redimensionasse automaticamente a largura do conteúdo e, ao mesmo tempo, centralizasse

Respostas:


378

Experimente a vertical-alignpropriedade CSS.

#box1 {
    width: 50px;
    height: 50px;
    background: #999;
    display: inline-block;
    vertical-align: top; /* here */
}

Aplique-o #box3também.


3
Se você quer uma solução universal, você deve aplicar o vertical-align: top;que #boxContainer divselector. Aplica o estilo a todos os divelementos dentro do boxContainer.
MarthyM

30

Como outros já disseram, vertical-align: topé seu amigo.

Como bônus, há um violino bifurcado com aprimoramentos adicionais que o fazem funcionar no Internet Explorer 6 e no Internet Explorer 7 também;)

Exemplo: aqui




-1

Ou você pode simplesmente adicionar algum conteúdo à div e usar a tabela em linha


por que adicionar uma tabela quando você pode usar o alinhamento vertical?
Tcoulson 30/07/19

1
@tcoulson Eu não disse usar uma tabela, eu disse que você pode usar o display: inline-table, que, há 3 anos, tinha melhor suporte ao navegador e facilitou o alinhamento vertical.
Robert Went
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.