浮动以及如何清除浮动

什么是浮动,先来看浮动的定义
在网页设计中,"浮动"是一种布局技术,用于控制元素在页面中的位置。浮动元素会脱离正常的文档流,并移动到其容器的左侧或右侧,允许其他内容环绕它。

通常,浮动被用于创建多栏布局或使图像和文本等内容在页面上对齐。例如,你可以使用浮动将一张图片放置在文本旁边,让文字环绕图片。

浮动元素可以是块级元素或内联元素,但是一般情况下,我们更多地使用它们来布局块级元素。

要将元素浮动,可以使用 CSS 中的 float 属性,其值可以是 left、right 或 none。当一个元素被浮动后,它会尽可能地移动到指定的方向,直到遇到容器的边界或另一个浮动元素为止。

可能看到这里,还有些迷糊,啥玩意,啥叫脱离正常的文档流。没事,接着往下看

在网页布局中,元素的排列通常是基于文档流的,即元素按照其在HTML文档中出现的顺序依次排列,每个元素会占据一定的空间。

但是,当元素被设置为浮动时,它会脱离文档流,其他元素会以一种不同于正常情况的方式排列。
具体来说,浮动元素会尽可能地移动到指定的方向(左侧或右侧),直到遇到容器的边界或另一个浮动元素为止。其他元素会尝试围绕浮动元素进行排列,而不会被浮动元素所覆盖。
这种浮动元素的影响会导致以下几个问题:
父元素的塌陷(Collapse): 当父元素包含了浮动元素,并且没有设置适当的清除浮动,可能会导致父元素的高度塌陷,使得父元素的高度变为0,从而影响到布局。
文本环绕: 浮动元素可能会导致文本环绕其周围,使得文本的布局发生变化。
重叠和遮挡: 如果没有适当处理,浮动元素可能会重叠或者遮挡其他元素,导致布局混乱。

来看看没有浮动影响的文档流的布局
文档流(Document Flow)是指 HTML 文档中元素按照它们在文档中出现的顺序进行布局和排列的一种方式。元素在文档流中所占据的空间会影响到其他元素的位置和大小。

在文档流中,元素可以是块级元素(block-level elements)或内联元素(inline elements)。块级元素会占据一行,并且默认情况下会从上到下依次排列,每个块级元素会占据一整行的宽度,而内联元素则会在同一行内水平排列。

以下是一个简单的示意图,展示了文档流中的两个元素(一个块级元素和一个内联元素)的排列方式:

+-----------------------------------------------------------+
|  块级元素(Block-level element)                            |
|  在文档流中占据整行宽度,从上到下依次排列。               |
|  可以包含其他块级元素和内联元素。                          |
|                                                           |
|                                                           |
|                                                           |
+-----------------------------------------------------------+
+------------------------------+---------------------------+
|  内联元素(Inline element)   |  内联元素                 |
|  在同一行内水平排列,直到达到行的末尾自动换行。           |
|  可以在文本中嵌套,但不能包含块级元素。                  |
+------------------------------+---------------------------+

为了在使用浮动的时候又不影响正常的文档流,我们就需要使用清除浮动

清除浮动是一种在网页设计中常用的技术,用于解决因为浮动元素而引起的布局问题。浮动元素会脱离文档流,可能导致其父元素的高度塌陷,或者其他元素排列错乱、重叠等问题。清除浮动的主要目的是确保浮动元素不会影响到其容器或其他元素的布局。

清除浮动的方法通常是在包含浮动元素的容器中添加特定的样式或标记,使得容器可以正常地包裹浮动元素,从而避免布局问题。

使用伪元素清除浮动:通过在包含浮动元素的容器中添加一个空的伪元素,并设置其 clear 属性,使其不受浮动元素的影响,从而清除浮动效果。

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

使用额外的块级元素清除浮动:在浮动元素后面添加一个空的块级元素,并设置其 clear 属性,使其不受浮动元素的影响,达到清除浮动的效果。

<div class="float-container">
    <div class="float-left">左浮动元素</div>
    <div class="float-right">右浮动元素</div>
    <div style="clear: both;"></div> <!-- 清除浮动 -->
</div>

使用 overflow 属性清除浮动:设置包含浮动元素的容器的 overflow 属性为 auto 或 hidden,创建一个新的块格式化上下文,从而清除浮动。

.float-container {
    overflow: auto;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[微信小程序] 入门笔记2-自定义一个显示组件

[微信小程序] 入门笔记2-自定义一个显示组件 0. 准备工程 新建一个工程,删除清空app的内容和其余文件夹.然后自己新建pages和components创建1个空组件和1个空页面. 设定 view 组件的默认样式,使其自动居中靠上,符合习惯.在app.wxss内定义,作用做个工程. /**app.wxss**/ /* 所…

【强训笔记】day12

NO.1 思路&#xff1a;哈希表&#xff0c;建立bool数组&#xff0c;将要删除的字符串存入哈希表&#xff0c;并标为true&#xff0c;再遍历要做处理的字符串&#xff0c;如果在哈希表中为false&#xff0c;就输出。 代码实现&#xff1a; #include <iostream> #includ…

大数据技术原理与技术简答

1、HDFS中名称节点的启动过程 名称节点在启动时&#xff0c;会将FsImage 的内容加载到内存当中&#xff0c;此时fsimage是上上次关机时的状态。然后执行 EditLog 文件中的各项操作&#xff0c;使内存中的元数据保持最新。接着创建一个新的FsImage 文件和一个空的 Editlog 文件…

Python深度学习基于Tensorflow(4)Tensorflow 数据处理和数据可视化

文章目录 构建Tensorflow.data数据集TFRecord数据底层生成TFRecord文件数据读取TFRecord文件数据图像增强 数据可视化 构建Tensorflow.data数据集 tf.data.Dataset表示一串元素&#xff08;element&#xff09;&#xff0c;其中每个元素包含一个或多个Tensor对象。例如&#xf…

Mac虚拟机软件哪个好用 mac虚拟机parallels desktop有什么用 Mac装虚拟机的利与弊 mac装虚拟机对电脑有损害吗

随着多系统使用需求的升温&#xff0c;虚拟机的使用也变得越来越普遍。虚拟机可以用于创建各种不同的系统&#xff0c;并按照要求设定所需的系统环境。另外&#xff0c;虚拟机在Mac电脑的跨系统使用以及测试软件系统兼容性等领域应用也越来越广泛。 一、Mac系统和虚拟机的区别 …

windows 双网卡同时接入内外网

在公司使用wifi接入使用桌面云&#xff0c;但是公司wifi不能上外网&#xff0c;查资料不方便&#xff0c;通过手机同时接入外网。 同一台电脑设置同时连接内外网&#xff08;wifi或共享的网络&#xff09;_win7电脑同时使用手机和usb网卡使用wifi-CSDN博客 route print查看当前…

2024年CSC公派联合培养博士项目申报即将开始~

一、选派计划 联合培养博士研究生面向全国各博士学位授予单位选拔。 联合培养博士研究生的留学期限、资助期限为6-24个月。留学期限应根据拟留学单位学制、外方录取通知&#xff08;或正式邀请信&#xff09;中列明的留学时间确定。个人申报的资助期限应不超过留学期限&#…

静态分配IP,解决本地连接不上Linux虚拟机的问题

在Window环境下&#xff0c;使用远程终端工具连接不了VMware搭建的Linux虚拟机&#xff08;CentOS 7&#xff09;&#xff0c;并且在命令行ping不通该Linux虚拟机的IP地址。下面通过配置网关解决本地与Linux虚拟机连接问题&#xff1a; 1 查看虚拟机网关地址 在VMware虚拟机上…

代码随想录第52天|300.最长递增子序列 718. 最长重复子数组

300.最长递增子序列 300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 动态规划之子序列问题&#xff0c;元素不连续&#xff01;| LeetCode&#xff1a;300.最长递增子序列_哔哩哔哩_bilibili 给你一个整数数组 nums &#xff0…

SQL查询语句(一)简单查询和简单条件查询

MySQL的所有语句中&#xff0c;我们日常用的最多的其实就是查询语句。因此这篇文章主要介绍查询语句中的一些基础语法。 目录 简单查询 简单条件查询 简单查询 最简单的查询语句的语法如下所示&#xff1a; SELECT * FROM student; 它的语法解析如下&#xff1a; SELECT关…

【busybox记录】【shell指令】sort

目录 内容来源&#xff1a; 【GUN】【sort】指令介绍 【busybox】【sort】指令介绍 【linux】【sort】指令介绍 使用示例&#xff1a; 排序 - 默认排序 排序 - 检查所给文件是否已经排序 排序 - 输出已经排序过的文件&#xff0c;不会重新排序 排序 - 忽略每行前面的空…

鸿蒙OpenHarmony【基于Hi3516DV300开发板(时钟应用开发)】

概述 本文将介绍如何快速搭建基于OpenHarmony标准系统&#xff08;Hi3516DV300开发板&#xff09;的应用开发环境&#xff0c;并基于一个时钟APP示例逐步展示应用的创建、开发、调试和安装等流程。示例代码可以通过本链接获取。 时钟App是一款显示实时时间的应用&#xff0c;…

Sarcasm detection论文解析 |CAT-BiGRU

论文地址 论文地址&#xff1a;CAT-BiGRU: Convolution and Attention with Bi-Directional Gated Recurrent Unit for Self-Deprecating Sarcasm Detection | Cognitive Computation github:Ashraf-Kamal/Self-Deprecating-Sarcasm-Detection (github.com) 论文首页 笔记框架 …

传统汽车空调系统工作原理

1.首先讲一个概念 液体变成气体&#xff1a;吸热 气体变成液体&#xff1a;放热 2.在汽车空调系统中热量的传递的介质不是水&#xff0c;而是氟利昂&#xff0c;简称&#xff1a;“氟”。 3.传统式汽车空调结构如下 该三个部件位于车头进气口位置 该部位位于汽车驾驶车厢前方…

QX-mini51单片机学习(1)---电子电路基础

目录 1电平特性 2单片机io口简绍 3初识电容电阻 4初识电路原理图 5单片机最小系统结构 6单片机工作基本时序 1电平特性 单片机是一种数字集成芯片&#xff0c;数字电路中两种电平&#xff0c;高电平与低电平 高电平&#xff1a;5v 低电平&#xff1a;0v TTL电平信号…

重庆大足某厂不锈钢管件酸洗钝化-智渍洁

简报&#xff1a;重庆大足某厂不锈钢管件酸洗钝化 重庆大足某厂不锈钢管件酸洗钝化 - 重庆智渍洁环保科技有限公司简报&#xff1a;重庆大足某厂不锈钢管件酸洗钝化https://www.zhizijie.com/hl/zixun/gongsi/237.html

数据流转的艺术:深度解析tee命令的应用技巧

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 数据流转的艺术&#xff1a;深度解析tee命令的应用技巧 前言tee命令简介tee命令的基本用法tee命令的高级功能 前言 在Linux的世界里&#xff0c;有一位不太引人注意但却异常强大的命令&#xff0c;那…

上海个人购房提取公积金经历和注意事项(收藏不踩坑)

在前一篇文章中&#xff0c;我介绍了 2024 年 4 月 24 日上海个人购房个税退税经历&#xff0c;我于 4 月 27 日周六&#xff0c;顺利办理租房公积金提取业务&#xff0c;资金在业务办理完成后 10 分钟左右到账。通过本文分享办理过程的材料和注意事项&#xff0c;避免大家踩坑…

HackMyVM-Slowman

目录 信息收集 arp nmap whatweb WEB web信息收集 gobuster FTP匿名登录 hydra mysql爆破 mysql登录 fcrackzip爆破 hashcat爆破 ssh登录 提权 系统信息收集 python Capabilities提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interf…

【Java 刷题记录】前缀和

前缀和 25. 一维前缀和 示例1&#xff1a; 输入&#xff1a; 3 2 1 2 4 1 2 2 3输出&#xff1a; 3 6import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(S…
最新文章