首先我们需要知道浮动是什么,为什么要浮动。
浮动是给一个block元素添加一个css样式,从而使block元素脱离文档流,拥有和inline一样的特性,可以横着排列。
文档流是什么?
文档流是文档中可显示对象在排列时所占用的位置。
浮动有什么特性?
加浮动的元素,会脱离文档流,会沿着父容器靠左或靠右排列,如果之前已经有浮动的元素,会挨着浮动的元素进行排列。
如何取值?
float:“left” :沿着父容器靠左排列。 float:“right”:沿着父容器靠右排列。 float:“none”:没有浮动。
浮动之后,需要注意那些点呢?
1.只会影响后面的元素。
2.内容默认提升半层。
3.默认宽根据内容决定。
4.换行排列,当容器放不下这些浮动元素的时候,就会换行排列 ( 尽量让浮动的元素高度是统一 )。
5.主要给块元素添加,但也可以给内联元素添加。
那么如何清浮动?
1.如果要解决上下排列的情况:
利用clear属性清除float浮动
clear : left | right | both(比较常用的,左右浮动都清除)
2.要解决嵌套的情况:
固定宽高 : 不推荐 , 不能把高度固定死,不适合做自适应的效果。
父元素浮动 : 不推荐 , 因为父容器浮动也会影响到后面的元素。
overflow : hidden (BFC规范) , 如果有子元素想溢出,那么会受到影响。
display : inline-block (BFC规范),不推荐,父容器会影响到后面的元素。
设置空标签 : 不推荐 , 会多添加一个标签。
after伪类 : 推荐,是空标签的加强版,目前各大公司的做法。
注意:clear:both; 这个属性 只能加给块标签。after伪类添加的内容,默认是内联元素,所以要在里面写上,display:“block”,让他变成块标签。
最后,我想说,在这个时间段还在努力学习的逆战班的小伙伴,你们是最棒的,加油!
原文:https://www.cnblogs.com/guojiayuan/p/12345128.html