div中position:absolute 和margin :0 auto 同时存在,不能水平居中

div中position:absolute 和margin :0 auto 同时存在,不能水平居中但是去position 之后就能水平居中了,为什么啊?求解答

肯定不行了啊,绝对定位以后就脱离了父级盒子,只能以父级为参考进行定位,你可以理解为绝对定位以后就浮在了父级上面,所以margin中auto就没有了参考值,如果绝对定位以后还想居中,可以left:50%;margin-left:负的盒子宽度的一半即可。追问

谢谢,你的回答让我对position 又深入了解了一些

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-16
设置的auto值是针对的上下文。而绝对定位触发了bfc,bfc布局导致元素脱离了父级盒子(即上下文),此时margin中的auto就没有了参考值。
相似回答