浮动后,由于每个盒子的高度不同出现的位置问题

浮动后,由于每个盒子的高度不同出现的位置问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
   div{
   width:200px;
   height:200px;
   background-color: blue;
   margin:10px;
   float:left;
   }
   .one{
   height:100px;
   }

   .two{
   height:230px;
   }

   .three{
   height:180px;
   }

   .four{
   height:150px;/*如果这边改成180,那么5 和6这两个盒子都会出现在第二行*/
   }
  </style>
</head>

<body>
<div class="one">1</div>
<div class="two">2</div>
<div class="three">3</div>
<div class="four">4</div>
<div class="five">5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</div>
  



    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>

    <script>
    
    </script>
</body>

老师能解释一下这个现象吗,为什么第二行只有一个盒子,这个问题同样出现在视频的第12分钟

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

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

1回答
Steve007 2019-01-14 17:36:49

同学,你好。可以给你简单画一个图:

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

每一个div都是浮动的,因为第4个是前四个里面高度最小的,所以第5个在浮动的时候前面都被挡住了,只能浮动到第四个下面,然后后面没有位置了,所以从第6个开始重新排列在一行,后面会通过js脚本来排列位置的。

祝学习愉快!


  • 提问者 慕丝6937110 #1
    第一个盒子高度不是更小吗,而且每个盒子宽度是一样的,为什么第5个盒子不会跑到第一个盒子下面去呢
    2019-01-14 22:08:44
  • Steve007 回复 提问者 慕丝6937110 #2
    同学,首先跟你道个歉,前面那个回答有所欠缺。老师详细来给你分析这个问题,因为盒子都设置了浮动,因此当第一行排了四个盒子,第五个盒子被挤下来之后,应该是从右向左浮动的,它向左浮动时会被第三个盒子挡住,因此第五个盒子会在第四个盒子的下边。第六个盒子浮动时,也会被第三个盒子挡住,因此会排在第五个的下面。后面就会依次排列。第十个浮动时,因为前面没有阻挡,因此会排在第六个的下面。 祝学习愉快!
    2019-01-15 09:51:02
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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