Come allineare un div alla cima del suo genitore ma mantenendo il suo comportamento inline block?


171

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

D: Come puoi allineare box1 e box3 alla parte superiore del div genitore 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;
}

Aiuto molto apprezzato ...

Ringraziamento: questa domanda viene formulata da una risposta precedentemente fornita da https://stackoverflow.com/users/20578/paul-d-waite : ottenere un elemento CSS per ridimensionare automaticamente alla larghezza del contenuto e allo stesso tempo essere centrato

Risposte:


378

Prova la vertical-alignproprietà CSS.

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

Applicalo anche a #box3.


3
Se si desidera una soluzione universale, si dovrebbe applicare il vertical-align: top;al #boxContainer divselettore. Applica lo stile a tutti gli divelementi all'interno di boxContainer.
MarthyM,

30

Come altri hanno già detto, vertical-align: topè tuo amico.

Come bonus qui è un violino biforcuto con miglioramenti aggiunti che lo fanno funzionare anche in Internet Explorer 6 e Internet Explorer 7;)

Esempio: qui




-1

Oppure potresti semplicemente aggiungere un po 'di contenuto al div e usare la tabella in linea


perché aggiungere una tabella quando è possibile utilizzare vertical-align?
tcoulson,

1
@tcoulson Non ho detto di usare una tabella, ho detto che puoi usare display: inline-table, che, 3 anni fa, aveva un miglior supporto del browser e rendeva facile l'allineamento verticale.
Robert è andato il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.