老师这个相对absolute一样移动了定位移动元素,为啥最后是像

老师这个相对absolute一样移动了定位移动元素,为啥最后是像

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,并不是按照绝对定位移动的哦

相对定位是相对于相对的元素本身进行定位

也就是当two设置了相对定位后,它会相对于自己以前的位置进行移动,所以这里是原始位置距离底部bottom距离90px,距离左边left距离20px

http://img1.sycdn.imooc.com//climg/5f895add09a010fe05060721.jpg

而绝对定位,作用将元素从文档流中拖出来,将不占用原来元素的空间,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父级元素进行绝对定位。如果不存在就逐级向上排查,直到相对于html定位,即相对于浏览器窗口。所以这里如果设置了绝对定位后的效果如下

http://img1.sycdn.imooc.com//climg/5f895bfa096b1a5604430759.jpg

综上,这里并不是按照绝对定位进行偏移的

祝学习愉快

好帮手慕阿园 2020-10-16 10:12:23

同学你好,同学的代码中#two设置了left:20px;而one并没有设置,所以绿色部分向右移动了20px的距离,而红色的没有

如果同学问的不是这个问题,建议同学具体描述下

另外,关于代码的问题,建议同学以复制粘贴的方式反馈代码,便于老师定位问题。

祝学习愉快

  • 提问者 文丞武蔚 #1
    老师是这样的,#two里是要通过相对定位将绿色的块叠在红色上但是这里它是按照绝对定位移动的 <html> <head> <style type="text/css"> #one{ width: 100px; height: 100px; background: red; /* 请在此添加代码*/ position:absolute; } #two{ width: 100px; height: 100px; background: green; position:relative; left:20px; bottom:90px; /* 请在此添加代码*/ } </style> </head> <body> <div id="one"> </div> <div id="two"> </div> </body> </html>
    2020-10-16 15:43:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师