親と子の2つのdivを使用しています。親の幅は 100% で、そのコンテンツはテキストが中央に揃えられます。
子 div の幅は 0 (またはそれに近い値) で、親 div の中央に配置されたまま、コンテンツに合わせて幅が自動的に拡張されます。例:
+------------ PARENT DIV ------------+
| |
| ..some content.. |
| |
| +--CHILD DIV--+ |
| |Inside child | |
| +-------------+ |
| |
+------------------------------------+
+------------ PARENT DIV ------------+
| |
| ..some content.. |
| |
| +------ CHILD DIV ------+ |
| |Inside child with more | |
| +-----------------------+ |
| |
+------------------------------------+
子 div に固定幅を設定すると、正しく中央に配置できます。
.parent {
width: 100%;
}
.child {
width: 100px;
margin-left: auto;
margin-right: auto;
}
しかし、それは私が必要とするものではありません。コンテンツに応じて幅を拡大するには、子 div が必要です。だから私は使っfloat
てみましたnowrap
:
.parent {
width: 100%;
}
.child {
float: left;
white-space: nowrap;
margin-left: auto;
margin-right: auto;
}
これは子自体には機能しますが、親のコンテンツとして中心に置かれなくなります。
Javascriptを使用して解決できますが、そうしないことを本当に好みます。
SO で同様の質問を探し回っていますが、この状況に正確に答える質問が見つかりません。
誰か私に光を投げてくれませんか?
コメントをお寄せいただきありがとうございます。
フランシスコ