【前端每日基础】day18——css清除浮动

在CSS中,浮动(float)是一种常见的布局技术,但它常常导致父容器的高度无法自动扩展以包含浮动的子元素。这时就需要清除浮动。以下是几种常用的清除浮动的方法:

  1. 使用清除元素(Clearfix)
    Clearfix 是一种经典的解决方案,通过添加一个伪元素来清除浮动。可以使用现代CSS伪元素来实现。
/* Clearfix 方法 */
.clearfix::after {content: "";display: table;clear: both;
}

然后在需要清除浮动的父容器上应用 clearfix 类。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Clearfix Example</title><style>.container {background-color: lightblue;padding: 10px;}.box {float: left;width: 100px;height: 100px;margin: 10px;background-color: lightcoral;}.clearfix::after {content: "";display: table;clear: both;}</style>
</head>
<body><div class="container clearfix"><div class="box"></div><div class="box"></div><div class="box"></div></div>
</body>
</html>

使用 overflow 属性
通过给父容器设置 overflow: hidden 或 overflow: auto,可以强制其包含浮动的子元素。

.container {background-color: lightblue;padding: 10px;overflow: hidden; /* 或者使用 overflow: auto; */
}

这种方法适用于内容不会溢出容器的情况,否则会导致内容被剪裁。

  1. 使用浮动后面的块级元素清除浮动
    在所有浮动元素之后添加一个具有 clear: both 的块级元素。这种方法需要额外的HTML标签,不是最优雅的解决方案。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Clear Both Example</title><style>.container {background-color: lightblue;padding: 10px;}.box {float: left;width: 100px;height: 100px;margin: 10px;background-color: lightcoral;}.clear {clear: both;}</style>
</head>
<body><div class="container"><div class="box"></div><div class="box"></div><div class="box"></div><div class="clear"></div></div>
</body>
</html>

使用伪元素 :before 和 :after
这是更现代的clearfix实现,通过添加伪元素来清除浮动。

.container::before,
.container::after {content: "";display: table;
}.container::after {clear: both;
}

同样地,在父容器上应用该样式。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Modern Clearfix Example</title><style>.container::before,.container::after {content: "";display: table;}.container::after {clear: both;}.container {background-color: lightblue;padding: 10px;}.box {float: left;width: 100px;height: 100px;margin: 10px;background-color: lightcoral;}</style>
</head>
<body><div class="container"><div class="box"></div><div class="box"></div><div class="box"></div></div>
</body>
</html>

使用Flexbox布局
在使用CSS Flexbox布局时,父容器会自动包含浮动子元素,因此不需要额外清除浮动。

.container {display: flex;flex-wrap: wrap;background-color: lightblue;padding: 10px;
}.box {width: 100px;height: 100px;margin: 10px;background-color: lightcoral;
}

Flexbox可以简化布局,减少对清除浮动的需求。

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

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

相关文章

如何用java做一个模拟登录画面

要求&#xff1a; 实现registerAction方法中的注册逻辑。实现login方法中的登录逻辑&#xff0c;确保只有当用户名和密码都正确时才返回true。实现好友管理功能&#xff0c;包括添加好友、删除好友、查看好友列表。确保所有的文件操作&#xff08;如读取和写入credentials.txt…

Pytorch深度学习实践笔记4

&#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;pytorch深度学习 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xff1a;学习的本质就是极致重复! 视频来自【b站刘二大人】 1 反向传播 Back propaga…

INES文件头解析

ines_header.h #pragma once/* ** NES ROM 标头信息格式 ** FlameCyclone ** 2024.5.11 ** (https://gitee.com/flame_cyclone/ines-info.git) */#include <stdint.h> #include <string.h>// INES ROM 标头 // https://www.nesdev.org/wiki/INES typedef struct _…

信息化项目交付验收流程管理办法

项目交付验收流程制度 管理办法 (执行版) (文件编号: ) 编制: 审核: 批准: 版本: 生效日期: 管理办法概述 制定目的为了保证公司在建项目交付验收工作事项的顺利开展,保证交付验收进度及…

POJ 1463 Strategic game/洛谷UVA1292(树形dp)

P O J 1463 S t r a t e g i c g a m e \Huge{POJ\ 1463\ Strategic game} POJ 1463 Strategicgame 文章目录 题意思路标程 题目地址1&#xff1a;1463 – Strategic game (poj.org) 题目地址2&#xff1a;Strategic game - 洛谷 题目地址3&#xff1a;P2016 战略游戏 - 洛谷 …

创新力作 焕新首发丨捷顺科技·捷曜系列智慧停车新品全新上市

2024捷顺科技智慧停车全家族新品全面上市 全新外观、全新特性、全新体验 新控制机、新道闸、新超眸相机... 每款新品都有哪些功能亮点 带您一探究竟

解决vue3 vite打包报Root file specified for compilation问题

解决方法&#xff1a; 修改package.json打包命令 把 "build": "vue-tsc --noEmit && vite build" 修改为 "build": "vite build" 就可以了 另外关于allowJs这个问题&#xff0c;在tsconfig.json文件中配置"allowJs&qu…

C++入门:从C语言到C++的过渡(1)

目录 1.什么是C 2.C的标准库 3.命名空间 3.1为什么要存在命名空间 3.2命名空间的定义 3.3命名空间的使用 3.3.1域作用限定符 3.3.2using关键字引入某个成员 3.3.3using关键字引入命名空间名称 3.4命名空间的嵌套 3.5命名空间的合并 4.C中的输入与输出 1.什么是C C&am…

mysql binlog统一恢复误删数据库、表、数据(没有任何备份)

先将mysql文件夹中的my.ini进行设置 在 [mysqld]下边加上 # mysql-bin 是日志的基本名或前缀名&#xff0c;最后生成的日志文件是mysql-bin.000001类似&#xff0c;重启mysql数字会递增 log_binmysql-bin #binlog格式&#xff0c;statement&#xff0c;row&#xff0c;mixed可…

Reactor设计模式

Reactor设计模式 Reactor模式称为反应器模式或应答者模式&#xff0c;是基于事件驱动的设计模式&#xff0c;拥有一个或多个并发输入源&#xff0c;有一个服务处理器和多个请求处理器&#xff0c;服务处理器会同步的将输入的请求事件以多路复用的方式分发给相应的请求处理器。…

vue3第三十节(vue3 vite中使用sass)

引言&#xff1a;什么是Sass? Sass&#xff08;Syntactically Awesome Style Sheets&#xff09;是一种CSS预处理器&#xff0c;它扩展了CSS的功能&#xff0c;提供了更高级的语法和特性&#xff0c;例如变量、嵌套、混合、继承和颜色功能等&#xff0c;这些特性可以帮助开发…

TikTok越狱检测之一 <代码模块污染检测>

话说某天在国外论坛闲逛&#xff0c;有一国外小哥&#xff0c;发帖交流TikTok 的相关越狱检测&#xff0c;对TikTok的安全保护极其变态。 好奇心驱使之下&#xff0c;便下载TikTok&#xff0c;注册完账号&#xff0c;竟然什么都做不了&#xff0c;只能浏览视频。 基于逆向的本能…

ASO行业面临洗牌,苹果应用商店加搜索广告!

苹果公司全球市场营销高级副总裁菲尔席勒(Phil Schiller),在全球开发者大会开幕前(WWDC)透露了一些应用商店方面的消息。重点包括:1.应用商店搜索中加入广告;2.应用审核加快;3.新的商业模式。 一、 Search Ads搜索广告 这是最令人惊讶的改变,苹果在App Store平台的搜索结果中加…

前端自动将 HTTP 请求升级为 HTTPS 请求

前端将HTTP请求升级为HTTPS请求有两种方式&#xff1a; 一、index.html 中插入meta 直接在首页 index.html 的 head 中加入一条 meta 即可&#xff0c;如下所示&#xff1a; <meta http-equiv"Content-Security-Policy" content"upgrade-insecure-requests&…

广东旅游景点推荐

增城区 增城作为广州市的一个区&#xff0c;拥有丰富的自然景观和人文历史景点&#xff0c;非常适合自驾游。以下是一些推荐的自驾游景点&#xff1a; 白水寨风景区&#xff1a;拥有原始森林、悬崖瀑布和浅滩湿地&#xff0c;是广东罕见的自然生态资源集中地&#xff0c;也是广…

树洞陪聊系统源码/陪聊/陪玩/树洞/陪陪/公众号开发/源码交付/树洞系统源码

独立版本源码交付&#xff0c;自研UI和前后端代码 平台自带店员&#xff0c;无需自主招募&#xff0c;搭建直接运营 支持三方登录&#xff0c;官方支付、虎皮椒、易支付/码支付 支持首单体验、盲盒订单、指定下单等多个模式 支持钱包预充值、店员收藏、订单评价等功能 支持…

AI日报:讯飞星火Lite API永久免费;李开复称大模型疯狂降价是双输;AI特效末日滤镜抖音爆火;AI音乐Suno 融资1.25亿美元

欢迎来到【AI日报】栏目!这里是你每天探索人工智能世界的指南&#xff0c;每天我们为你呈现AI领域的热点内容&#xff0c;聚焦开发者&#xff0c;助你洞悉技术趋势、了解创新AI产品应用。 新鲜AI产品点击了解&#xff1a;AIbase - 智能匹配最适合您的AI产品和网站 1、科大讯飞…

can设备调试 - linux driver

这篇文章主要介绍can设备的调试相关信息&#xff0c;不具体介绍驱动的实现。 如果驱动写完&#xff0c;对can设备进行验证&#xff0c;可能会出现很多不可预见的问题。下面说说验证步骤 验证can设备可以使用工具can-utils。这个工具包中会有cansend candump等程序。可以直接通…

系统架构师考试(十)

SaaS为在线客服 PaaS为二次开发&#xff0c;比如低代码平台 IaaS 硬件开发 B 是基础设施作为服务 软件架构的概念 架构风格 数据流风格 网络报文是在计算机网络中通过网络传输的数据单元&#xff0c;它是网络通信的基本单位。网络报文包含了发送方和接收方之间传输的数据&…