为何要设置position:relative?

为何要设置position:relative?

为何要给中间的三个盒子同时设置position:relative,而没有给父元素设置position:absolute?

为何要设置position:relative?

省略为何不行...作用在哪里

正在回答 回答被采纳积分+1

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

2回答
好帮手慕慕子 2019-04-11 16:01:55

同学你好, 这里与有没有脱离文档流是没有关系的。所以不会和浮动冲突 . 它们两个是可以配合使用的 . 就像本案例中 ,此时浮动让元素在一行显示

当一个元素同时设置绝对定位或者固定定位等能够让其脱离文档流的时候 , 再设置浮动 . 由于浮动也会脱离文档流 ,所以两个脱离文档流的效果冲突了 . 这个时候浮动就无效了 , 绝对定位或者固定定位会生效 .

如果帮助到了你, 欢迎采纳

祝学习愉快~~~

好帮手慕慕子 2019-04-11 10:25:15

同学你好, 1、设置了相对定位的元素没有脱离标准流,并且元素在页面上占据了位子。为左右盒子设置position:relative; 是为了设置左右两侧的定位,配合left和right属性能够让它们在最左边和最右边。所以不能省略

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

2、如果中间三个盒子的父元素设置position:absolute;中间内容就脱离了文档流,导致覆盖住头部内容,底部内容也会上移。所以这里的布局不选择为父元素这个position:absolute; 例:

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

效果图:

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

如果帮助到了你,欢迎采纳

祝学习愉快~~~

  • 提问者 情人节礼物 #1
    老师不好意思,relative和absolute我给弄混淆了。 是为何要不能给中间的三个盒子同时设置position:absolute,再给父元素设置position:relative? 这才是之前所学到的内容。单独出现position:relative我还没见过。。
    2019-04-11 12:26:47
  • 好帮手慕慕子 回复 提问者 情人节礼物 #2
    同学你好, 首先圣杯布局案例是结合相对定位 ,浮动以及margin实现的布局效果 . 如果给中间的三个盒子设置绝对定位,实现的布局效果就不是圣杯布局了。所以这里不能使用absolute 这里就是给左右侧盒子设置position:relative ; 需要结合left和right属性让它们在最左边和最右边显示的,所以也可以单独使用position:relative 这里可能相对于前面的课程来说会有一些难度 , 同学可以尝试多听几遍课程,跟着多练习几次,理解其中的原理,这样才能灵活运用所学知识 , 完成一个布局
    2019-04-11 14:14:40
  • 提问者 情人节礼物 #3
    【设置了相对定位的元素没有脱离标准流】,但是三个盒子都被设置了float,是脱离了文档流啊,那不是这两个设置冲突了吗?
    2019-04-11 15:00:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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