divをその親の上部に配置し、インラインブロックの動作を維持する方法は?


171

見る: http //jsfiddle.net/b2BpB/1/

Q:box1とbox3を親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;
}

どうぞよろしくお願いします...

謝辞:この質問は、以前にhttps://stackoverflow.com/users/20578/paul-d-waite:CSS 要素を取得してコンテンツの幅に合わせて自動的にサイズ変更すると同時に、中央に配置される回答から分岐しています

回答:


378

vertical-alignCSSプロパティを試してください。

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

それに#box3も適用します。


3
ユニバーサルソリューションが必要な場合は、vertical-align: top;to #boxContainer divセレクターを適用する必要があります。スタイルはdiv内のすべての要素に適用されますboxContainer
MarthyM 2016年

30

他の人が言ったように、 vertical-align: topあなたの友達です。

おまけとして、ここにInternet Explorer 6とInternet Explorer 7でも機能するように拡張されたフォークフィドルがあります;)

例:ここ




-1

または、divにコンテンツを追加して、インラインテーブルを使用することもできます。


vertical-alignを使用できるのに、なぜテーブルを追加するのですか?
tcoulson

1
@tcoulsonテーブルを使用するとは言いませんでしたが、display:inline-tableを使用できると言いました。
Robert Went
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.