关于relative可以使浮动元素发生偏移的问题

关于relative可以使浮动元素发生偏移的问题

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

第二点,相对定位的元素不会离开常规流,但是第4点,其可以使浮动元素发生偏移,这不是矛盾了吗?浮动元素的特点之一不就是使元素脱离文档流吗?但是相对定位的元素又不会离开常规流,那一个元素既设置为relative定位,又设置浮动后它究竟是离开文档流还是不离开文档流?

正在回答

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

2回答

你好同学 , 这要看使用什么定位了 .如果相对定位和浮动同时设置时 , 是可以配合使用的 ,如下:

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

浮动是两个盒子在一行显示 , 并且第一个盒子设置定位偏移值也是起效果的 :

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

但是当绝对定位(或者固定定位)和浮动一起使用时 , 由于绝对定位和浮动都会让元素脱离文档流 ,两个属性就有点相冲了 .此时浮动就无效了 . 

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

可以发现 ,浮动失效了 . 两个元素由于定位重叠在一起 .第一个设置偏移值往下移动了 .

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

建议同学可以自己去测试一下 ,能够帮助自己理解 . 祝学习愉快 ,望采纳 .

  • 宝慕林842399 提问者 #1
    老师可不可以这么来理解,假如先不看定位,只看浮动的话,那么无论是绝对定位还是相对定位,那么结果都是两个box一行并列排,现在,第一个因为加了relative,因为相对定位不脱离文档流,所以其位置不会被右边的盒子占据。而如果加了soluted或fixed的话,因为绝对定位和固定定位会脱离文档流,所以其位置就被右边的盒子给占据。我感觉当定位和浮动一起设置是,先看浮动,在加上定位好像更好理解一些
    2019-02-15 19:20:47
  • 好帮手慕夭夭 回复 提问者 宝慕林842399 #2
    你好 , 你也可以按照自己的方式去理解哦。
    2019-02-17 10:08:09
山河远阔ZZ 2019-01-13 15:02:13

同学你好,设置relative的元素本身是不会脱离文档流的 ,设置浮动的元素是会脱离文档流, 所以一个元素设置了相对定位和浮动后 ,它会因为设置浮动而脱离文档流的 。

希望解决了你的问题,祝学习愉快,望采纳!

  • 提问者 宝慕林842399 #1
    所以,当定位和浮动矛盾时,浮动的权限更高是不是?
    2019-02-15 12:39:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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