div 内で左揃えのテキストのブロックを中央に配置する必要がありますが、ブロック自体ではなく、テキスト ブロックの視覚的な幅を中央に配置する必要があります。
多くの場合、これは同じことかもしれませんが、div がかなり狭く (モバイルの幅を考えてください)、テキストが長すぎて 1 行に収まらない場合を考えてみてください。そのため、オーバーフローする必要があります。
以下の例では、説明のためにテキスト ブロックを水色で表示していますが、実際には親の div (白) と同じ色になります。使用されるテキストには改行もありません。
1aでは、テキストは 1 行のみで、テキスト ブロックの最大幅よりも小さいため、テキスト ブロックをテキストの幅に設定でき、問題はありません。
ただし、 2aでは、テキストが最大幅より長いため、次の行に折り返されます。これにより、表示されているテキスト ブロックが中央に表示されなくなります。
HTML と CSS のみを使用して、これらの状況の両方を1bと2bとして表示するにはどうすればよいですか?
編集 1: 誰もが 1a と 2a の状況を達成する方法を教えてくれているようですが、私はすでにそれを持っています。1bと2bの状況を実現したい。
編集 2: 私が使用しているコードは、David がリンク ( http://jsfiddle.net/davidThomas/28aef/ ) で提供したものと本質的に同じです。ただし、テキスト領域の色の使用は、この点を説明するためのものです。これを白 ( http://jsfiddle.net/28aef/2/ ) に変更すると、テキスト ブロックが中央に配置されていないように見える (つまり、左右の余白が等しくない) ことがわかります。