Jak wyrównać element DIV do góry jego elementu nadrzędnego, ale zachowując jego zachowanie w wierszu blokowania?


171

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

P: W jaki sposób można wyrównać pola box1 i box3 do góry nadrzędnego elementu DIV 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;
}

Pomoc bardzo ceniona ...

Potwierdzenie: To pytanie jest rozwidlone z odpowiedzi udzielonej wcześniej przez https://stackoverflow.com/users/20578/paul-d-waite : Pobieranie elementu CSS, aby automatycznie zmieniał rozmiar do szerokości treści i jednocześnie był wyśrodkowany

Odpowiedzi:


378

Wypróbuj vertical-alignwłaściwość CSS.

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

Zastosuj to #box3też.


3
Jeśli zależy Ci na uniwersalnym rozwiązaniu, zastosuj vertical-align: top;to #boxContainer divselector. Stosuje styl do wszystkich divelementów wewnątrz boxContainer.
MarthyM

30

Jak powiedzieli inni, vertical-align: topjest twoim przyjacielem.

Jako bonus jest tutaj rozwidlone skrzypce z dodatkowymi ulepszeniami, które sprawiają, że działa również w Internet Explorer 6 i Internet Explorer 7;)

Przykład: tutaj




-1

Możesz też po prostu dodać zawartość do div i użyć inline-table


po co dodawać tabelę, skoro można użyć wyrównywania w pionie?
tcoulson

1
@tcoulson Nie powiedziałem, że użyj tabeli, powiedziałem, że możesz użyć display: inline-table, który 3 lata temu miał lepszą obsługę przeglądarki i ułatwiał wyrównywanie w pionie.
Robert Went
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.