div#thing {
position: absolute;
top: 0px;
z-index: 2;
margin: 0 auto;
}
<div id="thing">
<p>text text text with no fixed size, variable font</p>
</div>
<center>
div は一番上にありますが、 orで中央に配置することはできませんmargin: 0 auto
。
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 を絶対配置のものでラップできます。
div#wrapper {
position: absolute;
width: 100%;
text-align: center;
}
要素を絶対的に配置するには、親要素を相対的に配置する必要があることに注意してください。
はい:
div#thing { text-align:center; }