中心alignment绝对定位的Div

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> 

div在顶部,但是我不能用<center>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%); } 

也可以使用相同的技术,因为当你需要垂直alignment时,只需调整属性就可以了:

 // Vertical example. div#thing { position: absolute; top: 50%; transform: translateY(-50%); } 

如果你有必要有一个相对宽度(以百分比),你可以包装你的股利绝对定位的一个:

 div#wrapper { position: absolute; width: 100%; text-align: center; } 

请记住,为了绝对定位元素,父元素必须相对定位。

我有同样的问题,我的限制是,我不能有一个预定义的宽度。 如果你的元素没有固定的宽度,那么试试这个

 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; }