【CSS】浮动笔记及案例

CSS浮动

1. 认识浮动

  • float属性可以指定一个元素沿着左侧或者是右侧放置,允许文本和内联元素环绕它
    • float属性最初只使用文字环绕图片
    • 但却是早起CSS最好用的左右布局方案
  • 绝对定位、浮动都会让元素脱标,以达到灵活布局的目的
  • 可以通过float属性让元素脱标,产生浮动
    • none:默认,不浮动
    • left:左浮动
    • right:右浮动

2. 浮动的规则

  • 元素一旦浮动后,脱离标准流
    • 朝着向左或者向右方向移动,直到自己的边界紧贴着包含块(一般是父元素)或者其他浮动元素的边界为止
    • 定位元素会层叠在浮动元素上面
    • 标准流元素 < 浮动元素 < 定位元素(z-index >= 0)
  • 浮动元素的边界不能超过包含快的左右边界(包含块包含其中的margin、padding)

在这里插入图片描述

  • 浮动元素互相不能层叠
    • 如果一个元素浮动,会紧贴另外一个方向相同的浮动元素
    • 如果水平方向的空间不够显示浮动元素,浮动元素向下移动,直到有足够的空间为止
  • 浮动元素不能与行内级元素内容层叠,行内级内容会被浮动元素推出
    • 文字环绕图片的效果
  • 行内级元素、inline-block元素浮动后,其顶部将与所在行的顶部对齐

浮动练习:京东浮动布局,利用宽度的auto来解决兼容性问题

京东浮动布局,利用宽度的auto来解决兼容性问题

在这里插入图片描述

浮动练习2:京东多列布局

京东多列布局

在这里插入图片描述

浮动练习3:加边框的布局:

考拉布局

在这里插入图片描述

3. 浮动的问题

当一个元素中的某个子元素为浮动元素时,会脱标,不再给父元素汇报宽高,从而导致父元素的高度塌陷,为了解决这种问题,CSS推出了清除浮动,也就是clear属性

  • 父元素在计算总高度时,就不会计算浮动子元素的高度,导致了高度塌陷问题

  • 清除浮动的目的是

    • 让父元素计算总高度的时候,把浮动元素的高度算进去

3.1 清除浮动 clear

  • clear属性的意义
    • clear属性可以指定一个元素是否必须移动到在它之前浮动元素的下面(形成标准流,占用空间)
  • clear的常用取值
    • left: 要求元素的顶部低于之前生成的所有左浮动元素的底部
    • right:要求元素的顶部低于之前生成的所有右浮动元素的底部
    • both:要求元素的顶部低于之前生成所有浮动元素的底部
    • none:默认值,无特殊要求

3.2 清除浮动的方法

  • 方法一:给父元素设置固定的高度
    • 这样父元素就会有高度,不会因为子元素没有高度而撑不起盒子
  • 方法二:在父元素最后增加一个空的块级子元素,并且让它设置clear:both
    • 这样是利用clear属性将增加的子元素移动到所有浮动元素的后面,占据标准流,从而撑大父元素,给父元素宽高
  • 方法三:给父元素添加伪元素
    • 方法二的升级版,不再添加很多空白的标签,符合样式分离的原则

举例:

.box {width: 500px;background-color: pink;margin: 0 auto;
}
.box .left {float: left;width: 200px;height: 200px;background-color: aqua;
}
.box .right {float: right;width: 200px;height: 200px;background-color: red;
}
.box2 {width: 800px;height: 100px;background-color: pink;margin: 0 auto;
}
<div class="box"><div class="left">我是左浮动</div><div class="right">我是右浮动</div>
</div>
<div class="box2"></div>

效果

在这里插入图片描述

很明显,在上面的效果图中,box2子元素直接布局到了浮动元素的下面,占据了本该属于box的位置,这就是高度塌陷问题

解决:

.clear_fix::after {content: '';/* block才能独占一行,伪元素创建时为行内元素 */display: block;clear: both;/* 浏览器版本兼容性 */visibility: hidden;height: 0;
}.clear_fix {/* 兼容版本IE6/7 */*zoom: 1;
}
<div class="box clear_fix"><div class="left">我是左浮动</div><div class="right">我是右浮动</div>
</div><div class="box2"></div>

在这里插入图片描述

将box添加浮动清除类,则可以将块级伪元素添加到所有子元素的底部,从而占据位置,解决box高度塌陷问题,本例中将清除浮动写成一个单独的class,可以在需要清除浮动的元素上引用它,方便开发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/794112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4_材质节点

UE4_材质节点 2017-12-07 13:56 跑九宫格 跑UV 评论(0)

arm裸机-1、定时器pwm

时钟配置 我们使用s3c2440&#xff0c;主频12M&#xff0c;查看用户手册 通过锁相环抬升到400MHZ&#xff0c;分成三条通路&#xff0c;通过HHDIVN和PDIVN配置频率比&#xff0c;这个频率比配置手册已经给出。 配置MPLL主频400Mhz&#xff0c; 通过这个公式算出MPLL s、p、m都…

hive 慢sql 查询

hive 慢sql 查询 查找 hive 执行日志存储路径&#xff08;一般是 hive-audit.log &#xff09; 比如&#xff1a;/var/log/Bigdata/audit/hive/hiveserver/hive-audit.log 解析日志 获取 执行时间 执行 OperationId 执行人 UserNameroot 执行sql 数据分隔符为 \001 并写入 hiv…

C语言——调试技巧

1.Debug和Release的介绍 Debug 通常称为调试版本&#xff0c;它包含调试信息&#xff0c;并且不作任何优化&#xff0c;便于程序员调试程序。Release 称为发布版本&#xff0c;它往往是进行了各种优化&#xff0c;使得程序在代码大小和运行速度上都是最优 的&#xff0c;以便用…

基于单片机的全自动洗衣机系统仿真设计

**单片机设计介绍&#xff0c;基于单片机的全自动洗衣机系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的全自动洗衣机系统仿真设计概要是关于利用单片机技术实现全自动洗衣机控制功能的系统设计概述。以…

科东软件参加广州机器人产业联盟举办先进工业母机专家研讨会

工业母机是“制造机器的机器”&#xff0c;具有基础性、通用性、战略性特征&#xff0c;包括了减材切削机床、等材成形装备、增材制造装备及其控制系统等&#xff0c;是衡量国家工业水平和竞争力的重要标志。广东省作为全球知名的制造业基地&#xff0c;非常重视高端装备领域工…

有关字符串算法

例题一 解法&#xff1a; 算法思路&#xff08;两两⽐较&#xff09;&#xff1a; 我们可以先找出前两个的最⻓公共前缀&#xff0c;然后拿这个最⻓公共前缀依次与后⾯的字符串⽐较&#xff0c;这样就可以找出所有字符串的最⻓公共前缀。 例题二 解法&#xff08;中⼼扩散&am…

HuggingFace踩坑记录-连不上,根本连不上

学习 transformers 的第一步&#xff0c;往往是几句简单的代码 from transformers import pipelineclassifier pipeline("sentiment-analysis") classifier("We are very happy to show you the &#x1f917; Transformers library.") ""&quo…

Flask-RESTful 分析

Flask-RESTful 是一个 Flask 扩展&#xff0c;它为构建 RESTful API 提供了方便的工具和资源。它简化了创建 RESTful 服务的过程&#xff0c;允许开发者专注于业务逻辑而不是 HTTP 协议的细节。 资源&#xff08;Resources&#xff09;&#xff1a; Resource 类&#xff1a;是…

Java集合详解(一)-- List集合

1.集合简介 java集合可分为Set、List、Queue和Map四种体系。 Java集合就像一种容器&#xff0c;可以把多个对象&#xff08;实际上是对象的引用&#xff0c;但习惯上都称对象&#xff09;“丢进”该容器中。从Java 5 增加了泛型以后&#xff0c;Java集合可以记住容器中对象的数…

PW1503限流芯片:可达3A限流,保障USB电源管理安全高效

在电源管理领域&#xff0c;开关的性能直接关系到设备的稳定性和安全性。今天&#xff0c;我们将详细解析一款备受关注的超低RDS&#xff08;ON&#xff09;开关——PW1503。它不仅具有可编程的电流限制功能&#xff0c;还集成了多项保护机制&#xff0c;为各类电子设备提供了高…

解决在统信UOS Linux下缺乏zlib和jpeg库导致的安装Pillow报错问题

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 今天在统信UOS Linux的Python3环境下安装Pillow遇到了问题&#xff0c;导致安装不成功&#xff0c;通过报错信息。 二、第一执行pip3 install pillow安装报错 为了提高效率&#xff0c;指向了清华…

Spring重点知识(个人整理笔记)

目录 1. 为什么要使用 spring&#xff1f; 2. 解释一下什么是 Aop&#xff1f; 3. AOP有哪些实现方式&#xff1f; 4. Spring AOP的实现原理 5. JDK动态代理和CGLIB动态代理的区别&#xff1f; 6. 解释一下什么是 ioc&#xff1f; 7. spring 有哪些主要模块&#xff1f;…

Spring-IoC 基于注解

基于xml方法见&#xff1a;http://t.csdnimg.cn/dir8j 注解是代码中的一种特殊标记&#xff0c;可以在编译、类加载和运行时被读取&#xff0c;执行相应的处理&#xff0c;简化 Spring的 XML配置。 格式&#xff1a;注解(属性1"属性值1",...) 可以加在类上…

计算机网络-HTTP相关知识-基础

HTTP基础 基本概念&#xff1a;HTTP是一种计算机之间交流通信的规范&#xff0c;它允许数据在两点之间传输&#xff0c;这个过程可以包括中转或接力。HTTP不仅仅包括文本&#xff0c;还可以包括图片、音频等超文本。状态码&#xff1a;HTTP状态码分为五类&#xff1a; 2xx&…

一文搞懂 ThreadLocal

简介 ThreadLocal存取的数据&#xff0c;总是与当前线程相关&#xff0c;也就是说&#xff0c;JVM 为每个运行的线程&#xff0c;绑定了私有的本地实例存取空间&#xff0c;从而为多线程环境常出现的并发访问问题提供了一种隔离机制。 ThreadLocal的作用是提供线程内的局部变…

RK3588 NPU 研究(二)

RK提供了两个模型&#xff0c;mobilenet和YOLO5。 mobilenet模型相对小&#xff0c;使用起来不是很明显yolo5模型大一些&#xff0c;可以对88种目标进行检测&#xff0c;提供检测的结果包括类别、包围框坐标、可信度等信息。基于rknn_yolov5_demo进行分析。 rknn_yolov5_demo基…

TIMO后台管理系统-入门,简单易懂教程-技巧总结

Timo 要说的话&#xff1a; 这个项目的技术栈是JPA&#xff0c;会有很多文件去追踪&#xff0c;这些文件大多是使用内部的代码生成器做的&#xff0c;API文档做得不错&#xff0c;之前没做过项目的同学花一天了解API文件还是不错的 资料&#xff1a; 文档&#xff1a;http:…

360手机位置穿越修复 360手机位置穿越 360手机刷机 360手机黑科技 360位置穿越下载

360手机位置穿越修复 360手机位置穿越 360手机刷机 360手机黑科技 360位置穿越下载 360手机位置穿越钉钉打卡 360手机位置穿越微信打卡 360手机位置穿越滴滴打卡 360手机位置穿越美团打卡 360手机位置穿越 360手机位置穿越下载 360手机位置穿越 支持钉钉、微信等位置修改…

若依自带vue-cropper上传图片(可旋转、缩放)

2024.4.4今天我学习了如何使用若依的vue-cropper上传图片组件&#xff0c;在工作中遇到一个需求&#xff0c;需要对上传的图片进行旋转的操作&#xff0c;然后我先找到el-upload组件&#xff0c;使用之后发现它有一个自动上传和非自动上传的功能&#xff0c;是不是就可以通过非…