CSS处理页面元素浮动的几个办法

news2024/12/23 14:37:24

CSS处理页面元素浮动的几个办法

  1. 不使用浮动的情况下,子盒子1和2分别在盒子1中占据一行的空间。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>未使用浮动</title>
    <style>
        .box1 {
            height: 200px;
            width: 600px;
            background-color: pink;
        }

        .box2 {
            width: 600px;
            height: 240px;
            background-color: purple;
        }

        .son1 {
            width: 150px;
            height: 100px;
            background-color: skyblue;
        }

        .son2 {
            width: 300px;
            height: 100px;
            background-color: hotpink;
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="son1"></div>
        <div class="son2"></div>
    </div>
    <div class="box2"></div>
</body>
</html>

image-20230622210812894

  1. 使用添加额外标签的方法清除浮动,子盒子1和2分别使用左浮动, 两个元素都不占用原来文档流的空间了,跑到了同一行,额外添加一个div标签,清除浮动,避免盒子2也随着向上占据盒子1的空间。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>清除浮动 - 额外标签</title>
    <style>
        .box1 {
            /* height: 200px; 很多情况下,不方便给父级盒子高度,考虑到孩子高度会变化 */
            width: 600px;
            background-color: pink;
        }

        .box2 {
            width: 600px;
            height: 240px;
            background-color: purple;
        }

        .son1 {
            width: 150px;
            height: 100px;
            background-color: skyblue;
            float: left;
        }

        .son2 {
            width: 300px;
            height: 100px;
            background-color: hotpink;
            float: left;
        }

        .clearfix {
            clear: both;
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="son1"></div>
        <div class="son2"></div>
        <div class="clearfix"></div>
    </div>
    <div class="box2"></div>
</body>
</html>

image-20230622211431528

  1. 使用双伪元素的方式清除浮动
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>清除浮动 - 双伪元素</title>
    <style>
        .box1 {            
            width: 600px;
            background-color: pink;
        }

        .box2 {
            width: 600px;
            height: 240px;
            background-color: purple;
        }

        .son1 {
            width: 150px;
            height: 100px;
            background-color: skyblue;
            float: left;
        }

        .son2 {
            width: 300px;
            height: 100px;
            background-color: hotpink;
            float: left;
        }

        .clearfix:before, .clearfix:after {
            content: "";
            /* 触发BFC 防止外边距合并 */
            display: table;
        }

        .clearfix:after {
            clear: both;
        }
    </style>
</head>
<body>
    <div class="box1 clearfix">
        <div class="son1"></div>
        <div class="son2"></div>
    </div>
    <div class="box2"></div>
</body>
</html>
  1. 使用after伪元素的方式清除浮动
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>清除浮动 - after伪元素</title>
    <style>
        .box1 {            
            width: 600px;
            background-color: pink;
        }

        .box2 {
            width: 600px;
            height: 240px;
            background-color: purple;
        }

        .son1 {
            width: 150px;
            height: 100px;
            background-color: skyblue;
            float: left;
        }

        .son2 {
            width: 300px;
            height: 100px;
            background-color: hotpink;
            float: left;
        }

        .clearfix:after {
            /* 内容为小点,尽量加不要空,否则低版本浏览器有空隙 */
            content: ".";
            display: block;
            height: 0;
            /* 隐藏盒子 */
            visibility: hidden;
            clear: both;
        }

        .clearfix {
            *zoom: 1;
        }
    </style>
</head>
<body>
    <div class="box1 clearfix">
        <div class="son1"></div>
        <div class="son2"></div>
    </div>
    <div class="box2"></div>
</body>
</html>
  1. 使用父级元素的overflow属性清除浮动,盒子1设置overflow为hidden,触发BFC达到清除浮动的目的。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>清除浮动 - 父级overflow</title>
    <style>
        .box1 {
            width: 600px;
            background-color: pink;
            /* 触发BFC BFC可以清除浮动 */
            overflow: hidden; 
        }

        .box2 {
            width: 600px;
            height: 240px;
            background-color: purple;
        }

        .son1 {
            width: 150px;
            height: 100px;
            background-color: skyblue;
            float: left;
        }

        .son2 {
            width: 300px;
            height: 100px;
            background-color: hotpink;
            float: left;
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="son1"></div>
        <div class="son2"></div>
    </div>
    <div class="box2"></div>
</body>
</html>

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

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

相关文章

Java 8新特性:方法引用的介绍与使用

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 1. 什么是方法引用&#xff1f; 2. 方法引用的…

【30天熟悉Go语言】9 Go函数全方位解析

作者&#xff1a;秃秃爱健身&#xff0c;多平台博客专家&#xff0c;某大厂后端开发&#xff0c;个人IP起于源码分析文章 &#x1f60b;。 源码系列专栏&#xff1a;Spring MVC源码系列、Spring Boot源码系列、SpringCloud源码系列&#xff08;含&#xff1a;Ribbon、Feign&…

【好书精读】网络是怎样连接的 之 数据收发完成之后 从服务器断开并删除套接字

&#xff08; 该图由AI制作 &#xff09; 目录 数据收发完成后协议栈要执行的操作 数据发送完毕后断开连接 删除套接字 数据收发操作小结 第一步是创建套接字 然后 客户端会向服务器发起连接操作 数据收发阶段 执行断开操作 数据收发完成后协议栈要执行的操作 数据发…

html_css模拟端午赛龙舟运动

文章目录 ⭐前言&#x1f496; 样式布局&#x1f496; 添加龙舟&#x1f496; 添加css_animation运动 ⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本期给大家分享css实现赛龙舟运动。 &#x1f496; 样式布局 风格&#xff1a;卡通 首先采用一张包括水元素的照片…

液体泄露识别检测算法 监控识别管道液体泄漏

液体泄露识别检测算法通过 yolov8python网络模型技术&#xff0c;液体泄露识别检测算法对管道的液体泄露情况进行全天候不间断实时监测&#xff0c;检测到画面中管道设备液体泄露现象时&#xff0c;将自动发出警报提示相关人员及时采取措施。YOLOv8 算法的核心特性和改动可以归…

硬件入门之什么是二级管

硬件入门之什么是二级管 文章目录 硬件入门之什么是二级管一、二极管是什么&#xff1f;二极管在电路中的作用很广泛&#xff1a; 单向导电&#xff0c;续流&#xff0c;稳压等等 二、分类二极管实际应用场景二极管分类1.通用二极管2..肖特二极管 3.稳压二极管&#xff08;利用…

零基础学会python编程——输入 / 输出函数与变量

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​ 目录 前言 学习目标 一.输入与输出函数 1.print 函数 【例2-1】 【例2-2】 【例2-3】 …

深度详解Nginx正向代理与反向代理

正向代理和反向代理的概念 1、正向代理2、反面代理以租房为例解释正向代理和反向代理&#xff1f;正向代理和反向代理配置 1、正向代理 它的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器&#xff0c;这个代理服务器呢,他能访问那个…

一文弄懂git原理及相关操作

文章目录 前言Git 是什么&#xff1f;Git 与 SVN 的区别Git 快速入门Git 相关网站Git 工作流程Git 工作空间Git 文件状态 Git 安装在 Linux 上安装在 Mac 上安装在 Windows 上安装从源代码安装 Git 配置Git 常用命令git initgit clonegit addgit commitgit branchgit tag查看信…

字符设备驱动内部实现原理解析

字符设备驱动内部实现原理解析 一. 字符设备驱动对象内部实现原理解析二. 字符设备驱动的注册流程三. 代码示例 一. 字符设备驱动对象内部实现原理解析 用户层&#xff1a; ​ 当用户打开&#xff08;open&#xff09;一个文件时,会生成一个文件描述符表 内核层&#xff1a; 内…

极致呈现系列之:Echarts散点图的数据魔力

目录 什么是散点图散点图的特点及应用场景散点图的特点散点图的应用场景 Echarts中散点图的常用属性Vue3中创建散点图美化散点图样式 在数据分析和可视化过程中&#xff0c;散点图是一种常见且重要的工具。散点图可以帮助我们直观地观察两个变量之间的关系&#xff0c;并发现其…

MySQL实战解析底层---“order by“是怎么工作的

目录 前言 全字段排序 rowid排序 全字段排序 VS rowid排序 前言 在开发应用的时候&#xff0c;一定会经常碰到需要根据指定的字段排序来显示结果的需求以举例市民表为例&#xff0c;假设你要查询城市是“杭州”的所有人名字&#xff0c;并且按照姓名排序返回前1000个人的姓…

20230622作业:字符设备驱动内部实现原理及流程

1.1字符设备驱动内部实现原理 1>用户打开设备open("~/dev/mycdev",O_RDWR);("路径"&#xff0c;打开方式)2>在内核的虚拟文件系统层会同步执行sys_open函数,实现如下操作3>根据open函数的路径&#xff0c;找到struct inode结构体4>在struct…

深入理解深度学习——GPT(Generative Pre-Trained Transformer):GPT-3与Few-shot Learning

分类目录&#xff1a;《深入理解深度学习》总目录 相关文章&#xff1a; GPT&#xff08;Generative Pre-Trained Transformer&#xff09;&#xff1a;基础知识 GPT&#xff08;Generative Pre-Trained Transformer&#xff09;&#xff1a;在不同任务中使用GPT GPT&#x…

单点登录设计方案介绍及用OAuth完整实现一个单点登录系统

文章目录 一、单点登录系统的意义1.1 提高用户体验1.2 提高安全性1.3 降低开发成本1.4 提高操作效率 二、单点登录的实现方式2.1 基于共享cookie的方式2.2 基于代理服务器的方式2.3 基于SAML协议的方式2.4 基于OAuth协议的方式 三、用OAuth实现单点登录3.1 OAuth 2.0 协议简介3…

【计组】微指令 微操作 微命令 微程序

区分四个概念 &#xff08;1&#xff09;微命令:微命令是构成控制信号序列的最小单位。通常是指那些直接作用于部件或控制门电路的控制命令。 &#xff08;2&#xff09;微操作:由微命令控制实现的最基本的操作称为微操作。 &#xff08;3&#xff09;微指令:以产生一组微命令&…

ubuntu20.4服务器安装mysql社区版并开放3306端口

您可以按照以下步骤在Ubuntu上安装MySQL社区版&#xff1a; 更新软件包列表&#xff1a; sudo apt-get update下载MySQL社区版的APT存储库配置文件&#xff1a; wget https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb安装APT存储库配置文件&#xff1a; sudo …

Python基础篇(三):基本语句的示例和说明

基本语句的示例和说明 前言1. 赋值语句2. 条件语句3. 循环语句3.1 for循环示例3.2 while循环示例 4. 函数定义语句5. 函数调用语句6. 异常处理语句7. 导入语句 前言 本文是Python中常见基本语句的示例和说明。这些语句是构建Python程序逻辑和控制流的基础&#xff0c;可以根据…

【T+】畅捷通T+直接升级后,原端口无法使用提示端口占用。

【问题描述】 在使用畅捷通T软件过程中&#xff0c;由于软件可以直接升级&#xff0c; 即&#xff1a;原软件是T16.0版本&#xff0c;可以直接运行T18.0的程序进行软件、数据升级。无需将16.0进行卸载&#xff0c;再安装18.0进行数据升级。 但这样直接升级后&#xff0c;原来的…

Shell编程从入门到实践——入门篇

欢迎关注 「Android茶话会」 回 「学习之路」 取Android技术路线经典电子书回 「pdf」 取阿里&字节经典面试题、Android、算法、Java等系列武功秘籍。回 「天涯」 取天涯论坛200精彩博文,包括小说、玄学等 Shell是一种命令行解释器&#xff0c;它是在Unix和Linux操作系统中…