幅が不明な DIV を中央揃えにしたい。実際のコンテンツと同じ幅にする必要があります。私は試した:
<div style="background-color: red; width: 300px; text-align: center; margin: 0 auto;">dsffsffsfsddf</div>
「幅」が設定されている場合にのみ機能します。Auto
役に立ちません。
それは非常に簡単です(http://jsfiddle.net/bukfixart/tYyJN/):
<div style="border:1px solid #000;text-align:center;">
<div style="border: 1px solid #f00; display:inline-block;">some content</div>
</div>
ポイントはtext-align:center
外箱とdisplay:inline-block
内箱
私のフィドルをチェックしてください:http://jsfiddle.net/PRUBd/
CSS
body {
text-align: center;
}
#container {
text-align: left;
border: 1px solid black;
padding: 10px;
display: inline-block;
}
HTML
<div id="container">
This div is as wide as its content and centered!
</div>
div{
display:table
margin:0 auto;
}
この前の回答を見てください: centering variable width divs
しかし、1 つの答えは、基本的に css-floats を使用することです。
<style type="text/css">
#hideoverflow { overflow: hidden; }
#outer { position: relative; left: 50%; float: left; }
#inner { position: relative; left: -50%; float: left; }
</style>
<div id="hideoverflow">
<div id="outer">
<div id="inner">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed id velit vel augue fringilla rhoncus at et odio. Suspendisse potenti. Aliquam justo libero, commodo ut iaculis in, placerat vel purus.
</div>
</div>
</div>
display: table; margin: 0 auto;