float布局打破标准流,神助攻clear清浮动

布局是什么?根据功能划分小块,再根据设计稿还原,书写静态页面,然后再在块里面填充内容,完善功能,js施加交互效果。div作为一个容器,独占一行,代码书写习惯从上至下属于标准流,而浮动float的css样式则打破div(标准流)独占一行的传统!具体代码展示如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <title>float布局打破标准流,神助攻clear清浮动</title>
 7     <style type="text/css">
 8     .box1>img{
 9         float: left;/*左浮动*/
10         float: right;/*右浮动*/
11         float:none;/*不浮动*/
12     }
13     /* .box1,.box2,.box3,.box4,.box5{
14         float: left;
15         width: 200px;
16         height: 200px;
17         margin: 10px;
18         background-color: red;
19     } */
20 /* 如现在展示,我想要5个盒子一行展示,是不是要float,可是float后,我们发现本来包裹盒子的大容器box受到了浮动的影响,是不是要清浮动 ,我们发现给大盒子添加高度是可以撑开它的,但是这样是不是太麻烦,如果里面盒子的宽高变化,外面的盒子的高度是不是又要调整,那么有没有其他办法了*/
21     .box1{
22         width: 200px;
23         height: 200px;
24         margin: 10px;
25         background-color: red;
26     }
27     .box2,.box3,.box4,.box5{
28         float: left;
29         width: 200px;
30         height: 200px;
31         margin: 10px;
32         background-color: red;
33     }
34     .box{
35         /* border: 1px solid red; */
36         background-color: chartreuse;
37         /* height: 300px; */
38     }
39     .box6{
40         clear: both;
41     }/*新添加一个class,用 clear: both;清除浮动*//*可是外面不能为了清除浮动就单独添加一个class在页面上*/
42 
43     /*重点来了:使用伪元素清除浮动*/
44     /* .box::after{
45         content: "";
46         display: block;
47         clear: both;
48     } */
49     /* 根据h2里面的文字考虑的问题只能这样展示 */
50     .box::before,.box::after{
51         content: "";
52         display: table;
53     }
54     .box::after{
55         clear: both;
56     }
57     </style>
58 </head>
59 <body>
60     <!-- <div class="box1">/*一个大的容器盛放所有浮动元素*/
61         <img src="https://pic.cnblogs.com/avatar/1350951/20200208114706.png" alt="">
62         <div class="box2">学习脚本最好的方法之一就是多练习,测试是来表明bug的存在而不是不存在。</div>
63     </div> -->
64 <div class="box">
65     <div class="box1"></div>
66     <div class="box2"></div>
67     <div class="box3"></div>
68     <div class="box4"></div>
69     <div class="box5"></div>
70     <!-- <div class="box6"></div> -->
71 </div>
72 <h2>最后一个问题来了,根据"盒模型大小取决于它的padding,margin,border数值"这篇文章介绍的margn值问题话,我们把.box里面的border值去除下.box1不做浮动话,正常思维它和上面的box是有一个margin值10px的间隔的,但是现在没有</h2>
73 </body>
74 </html>
posted @ 2020-02-15 18:19  鬼牛阿飞  阅读(509)  评论(0编辑  收藏  举报