position的值:relative和absolute的用法区别求解

position的值:relative和absolute的用法区别求解

我测试position属性时如图所示代码,仅更改红框处的position值。

①都填absolute,②.content里填absolute,.top里填relative,③.content里填relative,.top里填absolute,以上三种能显示出黄块在蓝块正中间的样子。

④都填relative,黄块就会和蓝块贴底边。

看起来④里的黄块与①②③中的黄块在浏览器里的位置一样,是蓝块往上升了,看起来蓝块顶部还有点跑到浏览器显示部分外面去了。

这是什么原理?求问relative和absolute区别和使用注意点。

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

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

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


正在回答

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

1回答

同学,你好。同学可以根据下述描述及例子来理解相对定位和绝对定位。

1、position: relative;相对定位:是相对于原来位置移动,元素设置此属性之后仍然处在文档流中,不影响其他元素的布局

2、position: absolute;绝对定位:绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素)。如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(body)。

3、同学将两个div都设置为relative,同学将margin上边距设置了为-100px,当两个嵌套的div,如果外层父元素div的padding值为0,那么内层div的margin-top值会转移到父元素也就是外层div身上,因此蓝色会往上升,导致同学看到的效果。

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

如果我的回答解决了您的疑惑,采纳!祝学习愉快~~~~

  • 江民川 提问者 #1
    为什么左边的-200没有转移?左右看起来还是居中的呀
    2020-04-17 14:25:07
  • 江民川 提问者 #2
    有老师回答一下吗?
    2020-04-17 15:28:11
  • 时间, 回复 提问者 江民川 #3
    同学,你好。抱歉未能及时回答同学的问题。当两个div嵌套时,左右的margin是没有影响的,还是子元素的左右边距 。祝学习愉快~~~~
    2020-04-17 17:24:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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