将父元素的定位方式从绝对改为相对,红色正方形微调
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style> /*完善下列代码*/ .per{ width: 300px; height: 300px; background: red; margin-left:200px; margin-top: 200px; position:relative; } .son{ width: 100px; height: 100px; background: blue; position:absolute; top:100px; left:100px; } </style> </head> <body> <div class="per"> <div class="son"></div> </div> </body> </html>
如上代码,将per的position属性由relative改为absolute后,红色正方形会微微向下移动,请问是什么原因?
58
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕阿满
2020-09-16 18:49:59
同学你好,将绝对定位和相对定位的效果截图做比较,如:
可以发现绝对定位时,有8px的margin-top和margin-left。
这是因为绝对定位时,是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素)。如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(body)。
这里红色方框per外没有定位元素,所以per是相对于body进行定位的,而body有默认的8px外边距,造成绝对定位时,有8px的margin-top和margin-left。如果给body设置了margin:0;,则相对定位和绝对定位效果一致。
祝:学习愉快~
java工程师2020版
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星