私はcssスタイルのtext-alignを使用して、コンテンツをHTMLのコンテナー内に配置します。コンテンツがテキストまたはブラウザがIEの場合、これは正常に機能します。しかし、それ以外の場合は機能しません。
また、その名前が示すように、基本的にテキストを揃えるために使用されます。alignプロパティはずっと前に非推奨になっています。
HTMLのコンテンツを揃える他の方法はありますか?
私はcssスタイルのtext-alignを使用して、コンテンツをHTMLのコンテナー内に配置します。コンテンツがテキストまたはブラウザがIEの場合、これは正常に機能します。しかし、それ以外の場合は機能しません。
また、その名前が示すように、基本的にテキストを揃えるために使用されます。alignプロパティはずっと前に非推奨になっています。
HTMLのコンテンツを揃える他の方法はありますか?
回答:
text-alignは、テキストと他のインラインコンテンツを揃えます。ブロック要素の子を整列しません。
これを行うには、幅を揃える要素に「自動」の左マージンと右マージンを設定します。これは、IE5.x以外のすべての場所で機能する、標準に準拠した方法です。
<div style="width: 50%; margin: 0 auto;">Hello</div>
これをIE6で機能させるには、適切なDOCTYPEを使用して、標準モードがオンになっていることを確認する必要があります。
IE5 / Quirksモードを本当にサポートする必要がある場合、最近はそうするべきではありませんが、2つの異なるアプローチを組み合わせてセンタリングすることが可能です。
<div style="text-align: center">
<div style="width: 50%; margin: 0 auto; text-align: left">Hello</div>
</div>
(明らかに、スタイルはスタイルシート内に配置するのが最適ですが、インラインバージョンは例示的なものです。)
次のようにすることもできます:
HTML
<body>
<div id="wrapper_1">
<div id="container_1"></div>
</div>
</body>
CSS
body { width: 100%; margin: 0; padding: 0; overflow: hidden; }
#wrapper_1 { clear: left; float: left; position: relative; left: 50%; }
#container_1 { display: block; float: left; position: relative; right: 50%; }
以下のようアルテムRussakovskiiはまた述べ、によって元の記事読んMattewジェイムス・テイラー完全な説明のために。
正直なところ、これまでに見たすべての解決策は嫌いです。その理由をお話しします。それらは正しく調整されていないようです...だから、私が通常行うことは次のとおりです。
各divとそれぞれのマージンがどのピクセル値を保持しているかがわかっているので、次のようにします。
絶対位置と左の値が50%のラッパーdivを作成します。このdivが画面の中央から始まり、divの幅のすべてのコンテンツの半分を減算します...そして、私はコンテンツを美しくスケーリングしています...そして、これはすべてのブラウザでうまくいくと思います。自分で試してみてください(この例では、サイトのすべてのコンテンツがこのラッパークラスを使用するdivタグでラップされ、その中のすべてのコンテンツの幅が200pxであると想定しています)。
.wrapper {
position: absolute;
left: 50%;
margin-left: -100px;
}
編集:追加するのを忘れました...幅を設定することもできます:0px; 一部のブラウザでは、このラッパーdivでスクロールバーを表示しないようにし、すべての内部divに絶対配置を使用できます。
これはまた、コンテンツを垂直方向に揃える上でも驚くほど機能し、top:50%とmargin-topを使用します。乾杯!
以下は常に私のために働いてきた方法です
親divの表示をに設定するdisplay: flex;
と、justify-content: center;
(主軸上のアイテムを整列するため)およびalign-items: center;
(交差軸上のアイテムを整列するため)を使用して、div内の子要素を整列できます。
複数の子要素があり、それらの配置方法(列/行)を制御する場合は、flex-direction
プロパティを追加することもできます。
作業例:
.parent {
align-items: center;
border: 1px solid black;
display: flex;
justify-content: center;
height: 250px;
width: 250px;
}
.child {
border: 1px solid black;
height: 50px;
width: 50px;
}
<div class="parent">
<div class="child"></div>
</div>
2.(以前の方法)位置、マージンプロパティ、固定サイズの使用
作業例:
.parent {
border: 1px solid black;
height: 250px;
position: relative;
width: 250px;
}
.child {
border: 1px solid black;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 50px;
position: absolute;
width: 50px;
}
<div class="parent">
<div class="child"></div>
</div>
HTMLとCSSを使用したもう1つの例:
<div style="width: Auto; margin: 0 auto;">Hello</div>