为什么本来靠左排列的三个盒子,经过浮动的设置和清除后会靠右排列?

为什么本来靠左排列的三个盒子,经过浮动的设置和清除后会靠右排列?

为什么本来靠左排列的三个盒子,经过浮动的设置和清除后会靠右排列?不是应该按照原来没有设置浮动代码前的效果显示吗?

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

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

2回答
好帮手慕夭夭 2019-01-04 10:15:06

你好同学 ,这就是浮动的特点 . 例如视频中 ,当你给三个盒子同时设置左浮动的时候 , 三个盒子会从左往右排列在一行 . 因为三个盒子在正常的文档流中 , 是自占一行的 , 所以它们三个之所以浮动后在同一个显示 , 就是后面的浮动元素受到前面浮动元素的影响导致的 . 建议同学自己实际的去练习一下 , 来帮助同学更好的理解 . 加油 !

祝学习愉快 ,望采纳 .

  • 提问者 阿扬在自律路上 #1
    灰灰老师,这不是因为他们自身设置了浮动属性才有的结果吗?如果自身没有设置,受其他浮动元素的影响,是不是是体现在会占据浮动元素的空间?
    2019-01-04 11:36:19
  • 同学理解的是对的 .
    2019-01-04 11:49:01
  • 所以在自身没有设置浮动属性的情况下,要清楚浮动的影响,就只要单独加上clear属性,不用说同时存在float和clear两个属性,这样理解对吗? 如下面的例子:p元素加上clear:left属性,是消除了.red这个浮动元素向左浮动的影响 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>float</title> <style> body{ font-family: '微软雅黑'; } .per{ width: 400px; height: 200px; border: 1px solid #CCC; } .red{ width: 100px; height: 100px; background: red; margin: 10px; float:left; } p{background:blue; width: 100px; height: 100px; clear:left; } </style> </head> <body> <div class="per"> <div class="red"></div> <p></p> </body> </html>
    2019-01-04 11:58:20
好帮手慕夭夭 2019-01-03 14:47:25

你好同学 , 老师在讲解的时候 ,把三个盒子已经改成了右浮动 ,如下:

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

右浮动本身就是要在右边显示的 , 在没有清除浮动的时候 ,受到浮动的影响 , 它们会在一行浮动 . 当你清除浮动后 ,清除的是上一个浮动对自己带来的影响 , 自己本身还是浮动元素 . 如下:

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

祝学习愉快 ,望采纳 .


  • 提问者 阿扬在自律路上 #1
    灰灰老师,float属性怎么会影响到其他元素的?
    2019-01-03 22:32:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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