CSS float浮动布局浅析

前言

CSS布局是前端初级学习时的重中之重,web页面默认时按照标准文档流进行布局的,什么是标准文档流呢,主要是指web页面通常是按照从上向下的顺序布局的,以DIV 为例,我们知道DIV是块级元素,在页面中需要单独占一行,如下图所示:

image.png

标准文档流有很多限制,很多时候我们需要设置多个DIV并排等操作,这就需要想办法来脱离标准文档流:
CSS 中主要有3种方法来脱离标准文档流:

  1. 浮动(float)
  2. 绝对定位(absolute)
  3. 固定定位
    本文介绍的就是浮动布局;

浮动float 浅析

浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次。
假如上图中DIV2设置浮动,DIV2就会脱离标准流,导致DIV3 向上移动,如下图所示,DIV2 浮动在上一层遮挡了部分DIV3;

image.png

如果DIV2 DIV3 同时设置浮动的话,

image

DIV3跟随到了DIV2的后面,但是注意:DIV2虽然设置了浮动,却并没有自动跟随到DIV1的后面,
所以假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。

浮动的另外一个好处就时弹性布局如下图所示,页面随窗口的变化自适应调整:


image.gif

清除浮动

如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0,下面的元素会自动补位,所以这个时候要进行浮动的清除。清除浮动的方法主要有以下几种:
1.在结尾处添加空div标签clear:both
对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。
2.父级div定义伪类:after和zoom
3.父级div定义height
4.父级div定义overflow:hidden
5.父级div定义overflow:auto

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,712评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 10,203评论 5 15
  • 本文为转载文章,转载地址:经验分享:CSS浮动(float 写在前面的话: 如果读者理解CSS盒子模型,但对于浮动...
    翻炒吧蛋滚饭阅读 4,704评论 1 14
  • 作者:杨元原文地址:http://www.cnblogs.com/iyangyuan 很早以前就接触过CSS,但对...
    IT程序狮阅读 3,870评论 1 12
  • 对于刚刚入门学习前端的渣渣来说,对于css浮动甚是不解,故找来优秀并通俗易解的文章来记录。 教程开始: 首先要知道...
    呆呆滴木木菇凉阅读 2,844评论 0 1

友情链接更多精彩内容