1. ホーム
  2. html

[解決済み] 要素を水平方向にセンタリングする方法

2022-03-13 01:21:11

質問

を水平方向にセンタリングするにはどうすればよいですか? <div> の中で、別の <div> CSSを使って?

<div id="outer">
  <div id="inner">Foo foo</div>
</div>

解決方法は?

このCSSを内側の <div> :

#inner {
  width: 50%;
  margin: 0 auto;
}

もちろん、この場合にも width から 50% . を含む幅より小さい場合は <div> が動作します。また margin: 0 auto は実際にセンタリングを行うものです。

をターゲットにしている場合 インターネットエクスプローラー8 (およびそれ以降) の場合は、代わりにこれを使用した方がよいかもしれません。

#inner {
  display: table;
  margin: 0 auto;
}

これは、内側の要素を水平方向にセンタリングするもので、特に設定しなくても動作します。 width .

作業例はこちら。

#inner {
  display: table;
  margin: 0 auto;
  border: 1px solid black;
}

#outer {
  border: 1px solid red;
  width:100%
}
<div id="outer">
  <div id="inner">Foo foo</div>
</div>


EDIT

flexbox を使用すると、div を水平方向および垂直方向に中央揃えするのが非常に簡単になります。

#inner {  
  border: 1px solid black;
}

#outer {
  border: 1px solid red;
  width:100%;
  display: flex;
  justify-content: center;
}
<div id="outer">
  <div id="inner">Foo foo</div>
</div>

div を垂直方向に中央揃えするには、プロパティ align-items: center .