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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!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 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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