元素本来在容器内居左的,为什么加了右浮动,再清除右浮动,元素并没有回到原始位置?

元素本来在容器内居左的,为什么加了右浮动,再清除右浮动,元素并没有回到原始位置?

1、如题。元素本来在容器内居左的,为什么加了右浮动,再清除右浮动,元素并没有回到原始位置,而是在容器内居右了呢?

2、求教:不知我这么理解对不对

如当前容器内第一个添加了右浮动的元素会寻找容器的右边缘和上边缘,首先是居右然后再向上浮动,如果是清除浮动只是清除了上下的位置变化,但是并没有清除左右的变动。

第2到第n个加了右浮动的元素会相应寻找上一个浮动元素的上边缘位置上移并寻找上一个浮动元素的右边缘,靠着该元素右浮动,但是清除浮动也只是清除上下的浮动,但是并未清除居右这个动作?


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

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

3回答
金云泽 2018-10-02 22:57:29

我认为你可以这样理解:在本讲的例题中,clear这个属性不是清除自己的浮动状态。也就是说三个小div的浮动属性float:right并没有被去掉。clear这个属性的作用是让这三个box无视它周遭的环境。比如说box2原本右侧是有box1的,加上了clear:both或者clear:right后,它就把box1当作一个普通的div标准流中的元素看待了,即把自己看作是第一个浮动元素。第一个浮动元素要么紧贴父元素右侧,要么就在在上一个div下方。

  • 提问者 从前慢_5 #1
    你这样说,好像可以理解了
    2018-10-03 19:59:12
好帮手慕糖 2018-09-05 11:04:10

你好,不知道你具体的代码是如何写的,不过你可以看下课程,老师讲的例子中,三个元素都设置了左浮动,然后给第一个元素设置了清除左浮动,效果是没有改变的哦,该元素本身还是浮动的哦。

祝学习愉快~

好帮手慕糖 2018-09-05 10:30:41

你好,clear属性是让自身不能和前面的浮动元素相邻,并不是没有浮动了。

若能帮助到你,望采纳。

祝学习愉快~

  • 提问者 从前慢_5 #1
    如果是清除左浮动元素的左浮动,是让元素回到文档流,但是该元素依然是左浮动吗
    2018-09-05 10:37:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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