假设您将以下CSS应用于div标记
.divtagABS {
position: absolute;
margin-left: auto;
margin-right: auto;
}
margin-left
和margin-right
不生效
但如果你有相对的,它工作得很好,即
.divtagREL {
position: relative;
margin-left: auto;
margin-right: auto;
}
为什么会这样呢?我只想居中一个元素。
有人能解释一下为什么在绝对位置设置自动边距不起作用吗?
发布于 2012-04-04 01:27:45
我已经used this trick to center an absolutely positioned element了。但是,您必须知道元素的width
。
.divtagABS {
width: 100px;
position: absolute;
left: 50%;
margin-left: -50px;
}
基本上,你使用left: 50%
,然后用负的margin
把它的一半的width
去掉。
发布于 2013-10-13 12:45:02
如果绝对元素具有宽度,则可以使用以下代码
.divtagABS{
width:300px;
positon:absolute;
left:0;
right:0;
margin:0 auto;
}
发布于 2013-08-12 03:29:39
我已经遇到了同样的问题,我的解决方案是编写一个容器(在你的例子中是..divtagABS container )绝对定位,然后在其中相对定位内容(在你的例子中是.divtagABS)。
完成了!你的.divtagABS的左边距和右边距自动功能现在可以工作了。
https://stackoverflow.com/questions/9998260
复制相似问题