CSS 浮动(Float)及其应用

1. 什么是浮动(Float)?

浮动元素会脱离正常的文档流(Document Flow),并向左或向右移动,直到碰到父元素的边缘或另一个浮动元素。

基本语法

.float-left {float: left;
}.float-right {float: right;
}.no-float {float: none; /* 默认值 */
}

2. 浮动的常见应用场景

(1) 文字环绕图片

<div class="container"><img src="example.jpg" class="float-left" alt="示例图片"><p>这里是环绕的文字内容……</p>
</div>

效果:图片浮动在左侧,文字自动环绕在其右侧。 在这里插入图片描述

(2) 多列布局(传统方式)

在 Flexbox 和 Grid 流行之前,浮动是创建多列布局的主要方式。

.father {border: black solid;width: 1250px;margin: 20px;background-color: #f5f5f5;}.left,.right {float: left;margin-left: 10px;}.left {height: 410px;width: 200px;background-color: black;}.right {height: 410px;width: 950px;background-color: blue;}.grandson {height: 188px;width: 200px;background-color: yellow;float: left;margin-left: 30px;margin-top: 10px;}

在这里插入图片描述
最外黑框线父元素father为文档流,其所有孩子都为浮动流,黑色区块left为一列,蓝色区块right为一列。蓝色区块内又有黄色浮动流grandson。

3. 浮动带来的问题及解决方案

(1) 父元素高度塌陷(Collapsing Parent)

问题:当子元素浮动后,父元素无法自动计算高度,导致布局错乱。

<body><div class="father"><div class="left"></div><div class="right"><div class="grandson"></div><div class="grandson"></div><div class="grandson"></div><div class="grandson"></div><div class="grandson"></div><div class="grandson"></div><div class="grandson"></div><div class="grandson"></div></div><div class="clear"></div></div><div class="no">this is not a content</div>
</body>

显示为:
发现父元素高度发生塌陷,后一位文档流顶了上来。
在这里插入图片描述

解决方案

  • 方法1:使用 clearfix 技巧(推荐)
    .clearfix:after {content: "";display: block;height: 0;clear: both;visibility: hidden;}.clearfix {/* IE6、7 专有 */*zoom: 1;}
    
    <div class="father clearfix">
    
    成功解决:
    在这里插入图片描述
  • 方法2:使用额外标签
============style============
.clear{
clear:both;
}
=============body============
<div class="clear"></div>>

(2) 浮动元素之间的间隙问题

问题:多个浮动元素之间可能出现意外的空白间隙。
原因:HTML 换行符被解析为空格,或 margin 未正确设置。
解决方案

  • 移除 HTML 换行(不推荐)
    <div class="float-left"></div><div class="float-left"></div>
    
  • 使用 margin 调整间距
    .float-item {float: left;margin-right: 10px;
    }
    
  • 改用 Flexbox 或 Grid(现代布局方案)

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

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

相关文章

二分算法的介绍简单易懂

目录 1.概论 2.朴素的二分算法 3.求左端点的二分算法和求右端点的二分算法 4.总结 1.概论 要想了解什么是二分算法&#xff0c;我们就要知道什么是二分算法&#xff0c;二分算法是根据数组的规律&#xff0c;每次查找的数据原来的效率可能要O&#xff08;n&#xff09;,而我…

ROS2学习(3)------架构概述

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 ROS版本&#xff1a;2 ROS 2&#xff08;Robot Operating System 2&#xff09;的设计旨在提供一个灵活、可扩展且高效的框架&#xff0c;用于编写复杂的机器人软件。它引入了发布者/订阅者&…

墨水屏显示模拟器程序解读

程序如下&#xff1a;出处https://github.com/tsl0922/EPD-nRF5?tabreadme-ov-file // GUI emulator for Windows // This code is a simple Windows GUI application that emulates the display of an e-paper device. #include <windows.h> #include <stdint.h>…

【技海登峰】Kafka漫谈系列(十一)SpringBoot整合Kafka之消费者Consumer

【技海登峰】Kafka漫谈系列(十一)SpringBoot整合Kafka之消费者Consumer spring-kafka官方文档: https://docs.spring.io/spring-kafka/docs/2.8.10/reference/pdf/spring-kafka-reference.pdf KafkaTemplate API: https://docs.spring.io/spring-kafka/api/org/springframe…

【言语理解】逻辑填空之逻辑对应11

front&#xff1a;词义辨析 11.1前后解释对应 填空的词汇大意可能是吖要结合实际情况不要一味高估导致适得其反的结果 未雨绸缪&#xff1a;趁着天没下雨&#xff0c;先修缮房屋门窗。比喻事先做好准备工作&#xff0c;预防意外的事发生。&#xff08;提前做好准备&#xff0c…

ubuntu上 opencv + eclipse + C++

ubuntu上 opencv eclipse C 1. 安装eclipse 安装eclipse不用说了&#xff0c;前置条件要安装java 配置快捷键方式 2. 新建c项目 配置opencv环境 project -> properties: 配置c标准库版本&#xff1a; 配置opencv头文件&#xff1a; 配置opencv库文件&#xff1a;…

动态内存管理2+柔性数组

一、动态内存经典笔试题分析 分析错误并改正 题目1 void GetMemory(char *p) {p (char *)malloc(100); } void Test(void) {char *str NULL;GetMemory(str);strcpy(str, "hello world");printf(str); } int main() {Test();return 0; }错误的原因&#xff1a; …

AI写PPT可以用吗?我测试了3款AI写PPT工具,分享感受

上周五临下班&#xff0c;领导突然让我周末赶出一份季度营销报告 PPT&#xff0c;还要求周一晨会展示。看着空荡荡的 PPT 页面&#xff0c;我满心都是绝望 —— 周末不仅泡汤&#xff0c;搞不好还得熬夜到凌晨。好在同部门的前辈给我推荐了几款 AI 写 PPT 工具&#xff0c;没想…

PrimeVul论文解读-如何构建高质量漏洞标签与数据集

目录 1. 引入2. 现有漏洞识别方案的不足2.1 数据集中label不准2.2 数据重复2.3 测评标准不够好 3. 现有漏洞识别数据集分析3.1 关于现有数据集中label的准确率分析3.2 关于现有数据集中数据泄露&#xff08; Data Leakage&#xff09;情况分析 4. 漏洞识别测评5. PrimeVul数据集…

关于数据湖和数据仓的一些概念

一、前言 随着各行业数字化发展的深化,数据资产和数据价值已越来越被深入企业重要发展的战略重心,海量数据已成为多数企业生产实际面临的重要问题,无论存储容量还是成本,可靠性都成为考验企业数据治理的考验。本文来看下海量数据存储的数据湖和数据仓,数据仓库和数据湖,…

linux-----------------库制作与原理(下)

1.ELF文件 要理解编译链链接的细节&#xff0c;我们不得不了解⼀下ELF⽂件。其实有以下四种⽂件其实都是ELF⽂件&#xff1a; • 可重定位⽂件&#xff08;Relocatable File &#xff09; &#xff1a;即 xxx.o ⽂件。包含适合于与其他⽬标⽂件链接来创 建可执⾏⽂件或者共享…

python-爬虫基础

爬虫本质&#xff1a;通过编写程序来获取到互联网上的资源。 我们的程序本质上就是模拟浏览器 一个简单的小爬虫&#xff1a; 只需要三步&#xff1a; from urllib.request import urlopen #url是网址&#xff0c;request意思是请求 这里跑出来的中文是这样的注意看&#…

单元化架构

目录 ​​​​​​​​编辑 单元化 逻辑单元 单元化 多地多机房部署&#xff0c;是互联网系统的必然发展方向&#xff0c;一个系统要走到这一步&#xff0c;也就必然要解决上面提到的问题&#xff1a;流量调配、数据拆分、延时等。业界有很多技术方案可以用来解决这些问题&…

【免杀】C2免杀技术(五)动态API

一、什么是动态API 在C2免杀领域中&#xff0c;“动态API” 主要指的是绕过静态检测的一种技术手段&#xff0c;其本质是运行时动态解析和调用Windows API函数&#xff0c;而不是在程序编译阶段就明确引用这些API。这种方式可以有效躲避静态分析工具和杀软的签名识别。 为什么…

Python爬虫实战:研究JavaScript压缩方法实现逆向解密

一、引言 在数字化信息爆炸的时代,网络数据已成为驱动各行业发展的核心资产。Python 凭借其丰富的库生态和简洁的语法,成为网络爬虫开发的首选语言。然而,随着互联网安全防护机制的不断升级,网站普遍采用 JavaScript 压缩与混淆技术保护其核心逻辑和数据传输,这使得传统爬…

HTTP 请求走私(HTTP Request Smuggling)

HTTP 请求走私&#xff08;HTTP Request Smuggling&#xff09;是一种通过利用前端代理&#xff08;如负载均衡器、CDN&#xff09;和后端服务器在 解析 HTTP 请求时存在不一致性 的漏洞&#xff0c;从而实现 注入恶意请求 的攻击技术。 一、基本原理 HTTP 请求走私主要依赖两…

【Google机器学习实践指南(线性回归篇)

&#x1f50d; Google机器学习实践指南&#xff08;线性回归篇&#xff09; Google机器学习实战(3)-单变量线性回归核心解析&#xff0c;掌握房价预测模型 一、建模流程全景图 ▲ 四大核心步骤&#xff1a; 数据可视化→特征工程→模型训练→预测推理 二、房价预测实战 1. …

python打卡day16

NumPy 数组基础 因为前天说了shap&#xff0c;这里涉及到数据形状尺寸问题&#xff0c;所以需要在这一节说清楚&#xff0c;后续的神经网络我们将要和他天天打交道。 知识点&#xff1a; numpy数组的创建&#xff1a;简单创建、随机创建、遍历、运算numpy数组的索引&#xff1a…

ubuntu 20.04 更改国内镜像源-阿里源 确保可用

镜像源是跟linux版本一一对应的,查询自己系统的版本号&#xff1a; 命令&#xff1a;lsb_release -a macw:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal macw:~$…

基于OpenCV的SIFT特征和FLANN匹配器的指纹认证

文章目录 引言一、概述二、代码解析1. 图像显示函数2. 核心认证函数2.1 创建SIFT特征提取器2.2 检测关键点和计算描述符&#xff08;源图像&#xff09;2.3 检测关键点和计算描述符&#xff08;模板图像&#xff09;2.4 创建FLANN匹配器2.5 使用K近邻匹配 3. 匹配点筛选4. 认证…