css中margin和position同时使用

第一个div和第二个header为什么都能达到水平和垂直都居中的效果,当margin和position同时使用,最终效果真是难以理解,请高手解答~~~... 第一个div和第二个header为什么都能达到水平和垂直都居中的效果,当margin和position同时使用,最终效果真是难以理解,请高手解答~~~ 展开
 我来答
灰常了dei
推荐于2018-02-12 · TA获得超过1736个赞
知道小有建树答主
回答量:596
采纳率:60%
帮助的人:630万
展开全部
当元素绝对定位以后,它在父元素的位置是根据top/left/right/bottom来定位的,而margin是根据自身当前位置来定位的
第一个,它距离父元素left:50%,top:50%,那就是父元素一半的距离,因为要实现居中即自身的中点在父元素的中间才算,所以margin-left/margin-top 负的自身宽/高的一半,那么正好水平垂直居中。
第二个,元素在绝对定位以后,left/rigth和top/bottom是没有优先等级的,不像margin-left作用的时候margin-right没用,那么现在left:0,right:0,两方实力相当,浏览器没办法,都得满足,那就水平居中吧,而绝对定位元素默认top是0.现在margin:20px,那就是把自己往下移动20px。严格来说移动25px才真正的垂直居中
书香学编程
2020-12-22 · 贡献了超过775个回答
知道答主
回答量:775
采纳率:25%
帮助的人:54.9万
展开全部

Vue实践-CSS样式position/display/float属性对比使用

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式