回答:
div
次のように固定幅を指定すると、問題が解決することがあります。
div#thing {
position: absolute;
top: 0px;
z-index: 2;
width:400px;
margin-left:-200px;
left:50%;
}
div#thing
{
position: absolute;
width:400px;
right: 0;
left: 0;
margin: auto;
}
パーティーに遅れることはわかっていますが、絶対的な幅を正確に知らない場合に、絶対的なアイテムを水平方向に配置する必要がある人々のために、ここで答えを提供しようと思いました。
これを試して:
// Horizontal example.
div#thing {
position: absolute;
left: 50%;
transform: translateX(-50%);
}
同じ手法は、次のようにプロパティを調整するだけで、垂直方向の配置が必要になる可能性がある場合にも適用できます。
// Vertical example.
div#thing {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
私は同じ問題を抱えていました、そして私の制限は私が事前に定義された幅を持つことができないということでした。要素の幅が固定されていない場合は、これを試してください
div#thing
{
position: absolute;
top: 0px;
z-index: 2;
left:0;
right:0;
}
div#thing-body
{
text-align:center;
}
次に、htmlを次のように変更します
<div id="thing">
<div id="thing-child">
<p>text text text with no fixed size, variable font</p>
</div>
</div>
はい:
div#thing { text-align:center; }