每日反思:每天从起床到睡觉手机不离手,该用功的时候游戏不离手,该念的书没有念好,该学的技能也没学好,随波逐流、人云亦云,以后到了该自己独挡一面的时候,我该用什么来安慰自己?是酒精还是眼泪;
目录
标准流是指:所有标签默认的排列效果;
浮动是指让元素脱离标准流,设置了浮动属性的元素会脱离标准普通流的控制。标准流无法满足我们想要的布局,所以我们让元素脱离标准流发热控制从而移动到我么想要的位置,但是这样也会伴随着浮动而带来影响浮动元素后面布局的问题:
很多布局效果,标准流布局无法完成,所以我们就需要设置浮动来改变元素(标签)默认的排列方式,让它听我们指挥。
举例说明:让多个块级元素在一行显示之间没有空隙;
语法格式:
选择器 {
float: 属性值;
}
属性值:
看一个案例:当父级元素没有设置高度(父级元素就不会占用标准流的位置,下面用案例证明),且子级元素添加了float属性(子级元素脱离标准流,也不占位置)那么这个时候浮动就影响下面的布局了,我们就该清除浮动了。
定义两个盒子,一个只给宽度、不给高度,另一个都给;
- <div class="box">div>
- <div class="bottom">div>
给每个盒子设置下面CSS设置;
- .box{
- width: 300px;
- /* height: 300px; */
- background-color: red;
- }
- .bottom{
- width: 300px;
- height: 300px;
- background-color: blue;
- }
预期的效果应当是, 红色框在上面,蓝色在下面:但是结果却是这样的;

由此可见:没有设置宽高的盒子,也不占标准流的位置; 设置了float属性的子级元素也不占标准流的位置,那么这个位置上就空了,当下面还有其他块儿时,自然而然下面的块儿就会补充到该位置,从而整个布局被打乱,出现块重叠问题;
从上面我们明白了什么是浮动,那清除浮动是干什么呢?就是当父级元素没有设置高度,且子级元素全部浮动,我们能想一个办法,让下面的布局不会上移打乱布局,下面五种解决的方法 ;
我们从出现问题的原因入手以解决问题,既然父级元素不加高度,并且其子级元素浮动会造成后面的布局出错,那我们就给父级元素添加高度;但是这样有一个缺陷:当我们在项目中要求父级元素不能设置高度是就不能用这个方法,所以这个办法不常用;
既然在父级元素只设置宽,不设置高,形不成区域、且子级元素添加了float属性浮动起来,脱离标准流的控制;那么我们就通过添加额外标签以规定下方块儿的最高边界(就相当于给马路中间起一道墙,告诉右面的人,这是界线你不能过去!);那么如何添加呢?在父级元素内容的最后添加一个块元素,并给该块级元素设置CSS,设置如下:
语法: 选择器 {
clear:both;
}
优点:通俗易懂,书写方便。
缺点:添加许多无意义的标签,结构化较差,造成结构的混乱,一般情况下不会使用这一种方式来清除浮动。
语法: 选择器 {
overflow:hidden;
}
优点:书写简单

这个方法,其实是在添加额外元素的方法上给了一个优化,用伪元素来代替额外元素;
缺点:有些浏览器会出现兼容性问题。

缺点:有些浏览器会出现兼容性问题。
文章呢写的还是不够详细和不够通俗易懂,因为我也是刚刚学完,但是会在最后的总复习中改进;