【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都…

【XZ-Utils供应链后门漏洞(CVE-2024-3094)】

文章目录 前言 一、事件背景 二、漏洞概述 三、影响范围 四、漏洞检测 五、漏洞防护 前言 近期各个威胁情报中心通报了一例Linux漏洞&#xff0c;在清明节前我们也是进行了自查&#xff0c;幸运的是该漏洞还未集成在发行版中&#xff0c;得以及时发现&#xff0c;没有造…

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…

滑动窗口(尺取法/Python)

滑动窗口&#xff08;尺取法&#xff09; 算法含义&#xff1a; 在解决关于区间特性的题目时保存搜索区间左右端点&#xff0c;然后根据实际要求不断更新左右端点位置的算法 时间复杂度&#xff1a; O ( n ) O(n) O(n) 空间复杂度&#xff1a; O ( 1 ) O(1) O(1) 在历年真题…

C语言——调试技巧

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

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

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

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

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

二项队列中删除最大元素C语言实现

在二项队列中删除最大元素通常意味着删除根节点,该节点是队列中所有树中阶最高的树的根。在二项队列中,树的阶是指树中最大的度数加一。删除最大元素后,可能需要重新合并队列中的树以保持二项队列的性质。 以下是一个简单的C语言实现,展示了如何从二项队列中删除最大元素。…

有关字符串算法

例题一 解法&#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集合可以记住容器中对象的数…

static关键字和const关键字有什么区别

static 关键字和 const 关键字在编程中各自扮演着不同的角色&#xff0c;它们的主要区别体现在以下方面&#xff1a; 作用与用途&#xff1a; static&#xff1a;主要用于修饰变量、方法、代码块和内部类。它确保为特定数据类型或对象分配唯一的存储空间&#xff0c;该空间与创…

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;指向了清华…

Windows下如何确定虚函数在虚函数表中的位置

我需要用c#调用 c 的 类的函数, 虽然可以通过头文件的顺序&#xff0c;但是如果可以打印出虚函数在虚表中的Offset更好。 测试要求: Windows, x86 只有1层虚函数&#xff0c;没有被override过 虚函数调用如下 auto a_reqCreditDetail &XtTraderApi::reqCreditDetail; (a…

论STM32如何使用I2C协议

前言 当提到STM32微控制器使用I2C协议时&#xff0c;通常意味着通过I2C总线与其他外设进行通信。I2C&#xff08;Inter-Integrated Circuit&#xff09;是一种常用的串行通信协议&#xff0c;用于在微控制器和外部设备之间传输数据。ST公司的STM32系列微控制器广泛应用于各种嵌…

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

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

MBTI与团队合作:如何根据性格类型打造高效团队?

MBTI简介 迈尔斯-布里格斯类型指标&#xff08;Myers–Briggs Type Indicator&#xff0c;MBTI&#xff09;是由美国作家伊莎贝尔布里格斯迈尔斯和她的母亲凯瑟琳库克布里格斯共同制定的一种人格类型理论模型。 该指标以瑞士心理学家卡尔荣格划分的8种心理类型为基础&#xff…