css浮动(float)

news2024/11/25 22:39:28

浮动(Float) 在CSS中是一个重要的布局技术,它允许元素向左或向右移动,其周围的元素会重新排列。当一个元素被设置为浮动时,它会脱离正常的文档流,这意味着它不再占据原本在文档流中的空间,而会尽可能地向左或向右移动,直到遇到父级元素的边界或其他浮动元素。

用途: 文本环绕图片,控制元素的对齐,创造多列布局
举例:文本环绕图片

<div class="a">
    <div class="b">float</div>
         这是一段文字描述This is a text description这是一段文字描述
</div> -->
<style>
    .a{
        width: 200px;
        height: 130px;
            border: 1px solid orange; 
    }
    .b{
        width: 80px;
        height: 70px;
        background-color: red;
        border: 10px solid yellow;
        float: left;
    }
</style>

未设置浮动时:

如图所示:
在这里插入图片描述

设置浮动后:

如图所示:
在这里插入图片描述

带来的问题

<div class="container">
    <div class="float-item">浮动元素</div>
    <div class="float-item">浮动元素</div>
    <!--<div style="clear:both;">额外标签法</div>--!>
    <div class="non-float-item">非浮动元素</div>
</div>
<style>
        .container {
            width: 200px;
            border: 1px solid orange;
            /* display:flow-root   */
            /* overflow: hidden; */
        }
        /* 添加伪元素清除浮动 */
        /* .container::after {
                content: "";
                display: table;
                clear: both;
            } */
        .float-item {
            float: left;
            width: 80px;
            height: 70px;
            background-color: red;
            border: 10px solid yellow;
        }
        .non-float-item {
            width: 80px;
            height: 70px;
            background-color: blue;
        }
</style>

问题1: 相邻元素重叠:因为它们不再占据文档流中的空间,所以相邻的非浮动元素会与之重叠
如图所示:
在这里插入图片描述

问题2: 父级元素高度塌陷(内部高度为0)
如图所示:
在这里插入图片描述
正常不设置浮动的样子:
在这里插入图片描述

解决方案:

1.使用空标签清除浮动: 在浮动元素后添加一个空标签(如“<div style="clear:both;"></div>”),并设置clear:both;clear CSS 属性指定一个元素是否必须移动 (清除浮动后) 到在它之前的浮动元素下面(相应值有:none,left,right,both)。clear 属性适用于浮动和非浮动元素。
优点: 简单易懂,书写方便,不会破坏文档结构。
缺点:

  • 需要添加额外的HTML元素,增加了DOM的复杂性。
  • 需要在每个需要清除浮动的元素后面都添加这个额外的元素,增加了维护成本

2.使用伪元素清除浮动: 使用:after伪元素在浮动元素的父元素后添加一个内容为空、clear:both;的元素
优点: 不需要增加额外的DOM元素,减少了页面的复杂性。
缺点: 对于一些老旧的浏览器,可能需要额外的CSS hack来兼容

3. 父级触发BFC: 可以通过触发BFC的方式,实现清楚浮动效果。(使用overflow:hidden时,浏览器会自动检查浮动区域的高度)
优点: BFC能够解决除清除浮动外很多布局问题
缺点: 不适合所有场景,需要根据具体情况来判断是否使用BFC
在这里插入图片描述

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

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

相关文章

会声会影下载免费中文版 会声会影2023破解 会声会影中文汉化补丁包 会声会影永久激活版序列号免费 会声会影安装使用教程

会声会影是加拿大Corel公司制作的一款功能强大的视频编辑软件&#xff0c;正版英文名&#xff1a;Corel VideoStudio&#xff0c;具有图像抓取和编修功能&#xff0c;可以抓取&#xff0c;转换MV、DV、V8、TV和实时记录抓取画面文件&#xff0c;并提供有超过100 多种的编制功能…

Atlassian 从历史传奇到云端创新,背后的秘密

前言 通过过去在职企业和现服务的咨询客户案例&#xff0c;我深刻领悟到团队协作、项目管理和变革管理的重要性。这种全方位的视角促使我深入研究了 Atlassian Cloud 系列产品与解决方案。凭借对协作的深刻理解和丰富的 Jira 项目管理实践&#xff0c;我不断探索如何以项目管理…

AVL Cruise与Simulink联合仿真(通过MATLAB DLL方式)

最近毕业设计需要用到AVL Cruise与Simulink进行联合仿真&#xff0c;分析汽车模型的经济性。下面介绍一下我所知的AVL Cruise与Simulink联合仿真的几种方式&#xff0c;它们各自的优缺点&#xff0c;以及DLL方式联合仿真的具体配置过程。我这里用的MATLAB软件版本是2021a&#…

数字人捕捉、建模与合成

在感知系统中&#xff0c;我们与外部合作者一起创建逼真的 3D 人类&#xff0c;其行为可以像虚拟世界中的真实人类一样。这项工作在今天有许多实际应用&#xff0c;并且对于元宇宙的未来至关重要。但是&#xff0c;在感知系统中&#xff0c;我们的目标是科学的——通过重现人类…

汽车灯罩一般都是用什么材质做的?汽车车灯的灯罩如果破损破裂破洞了要怎么修复?

汽车灯罩一般都是用什么材质做的&#xff1f; 汽车灯罩一般使用的主要材质是聚碳酸酯&#xff08;PC&#xff09;和丙烯酸酯&#xff08;PMMA&#xff09;这两种塑料。这两种材料具有良好的透明性、耐候性和耐冲击性&#xff0c;因此非常适合用于汽车灯罩的制造。 聚碳酸酯&am…

C#中实现DataGridView数据的优雅Excel之旅(EPPlus)

DataGridView效果图&#xff1a; EXCEL效果图: 代码如下&#xff1a; 首先要引入EPPlus包 可以使用命令行来安装 Install-Package EPPlus 也可以使用NUGet搜索EPPlus来安装 public Homes(){InitializeComponent();ExcelPackage.LicenseContext OfficeOpenXml.LicenseContext…

如何快速优雅的免费申请和搭建属于自己的服务器

今天来讲一下如何快速优雅的搭建属于自己的服务器&#xff0c;我们以阿里云的云服务器为例&#xff0c;新用户一般是有三个月使用期限。 首先我们进入官网&#xff0c;选择云服务器ecs 链接直达&#xff1a;https://cn.aliyun.com 打开网页后&#xff0c;往下滑&#xff0c;然…

PyPI 与 GitHub 的双因素认证 | 2FA 配置指南

唠唠闲话 最近登录 GitHub 一直提示设置双重验证。除此之外&#xff0c;开发 Python 包常用的平台—— PyPI &#xff0c;也宣布从今年开始强制启用双因素认证&#xff08;2FA&#xff09;。这一变化虽然在提高安全性方面起到了积极作用&#xff0c;但也给日常工作带来了麻烦。…

如何利用AI提高内容生产效率

目录 一、自动化内容生成 二、内容分发与推广 三、内容分析与优化 图片来源网络&#xff0c;侵权联系可删 一、自动化内容生成 随着AI技术的飞速发展&#xff0c;自动化内容生成已经成为提高内容生产效率的重要手段。AI可以通过自然语言处理&#xff08;NLP&#xff09;、机…

ESPN 即将登陆 Disney Plus 应用

震撼消息&#xff01;迪士尼CEO鲍勃艾格今日宣布&#xff0c;ESPN板块即将推出精选现场游戏和工作室节目&#xff0c;让所有美国订户目瞪口呆&#xff01; 鲍勃艾格表示&#xff1a;“这是将ESPN带给Disney观众的第一步&#xff0c;我们准备在2025年秋季推出增强型独立ESPN流媒…

代码随想录算法训练营第36期DAY14

DAY14&#xff08;周二&#xff09; 二叉树的递归遍历 144二叉树的前序遍历 过了。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullp…

卡尔曼滤波实战

入门内容 假如有个超声波&#xff0c;它传回的数据是这样的&#xff0c;这样的数据是用不了的 我们想要的是稳定的数据 此时我们引入滤波&#xff0c;把里面的噪声去掉&#xff0c;使得数据更平滑 适用系统&#xff1a; 符合两个特质&#xff1a;线性和高斯。 也叫线性高斯…

PyCharm怎么安装Comate与使用示范

目录 简单介绍Comate 安装步骤详解 Comate使用示范详解 使用总结 简单介绍Comate Baidu Comate智能编码助手是一款基于文心大模型打造的编码辅助工具&#xff0c;具备多重优势&#xff0c;包括代码智能、应用场景丰富、创造价值高、广泛应用等。它能帮助开发者提升编码效率…

AR人脸道具SDK解决方案,实现道具与人脸的自然融合

AR人脸道具SDK解决方案&#xff0c;实现道具与人脸的自然融合美摄科技以其卓越的技术实力和创新能力&#xff0c;为企业带来了全新的AR人脸道具SDK解决方案。这一解决方案将为企业打开全新的市场机会&#xff0c;为用户带来前所未有的互动体验。 颠覆传统&#xff0c;开启AR人…

【Debug日记】albumentations包安装失败解决方案

直接pip安装pip install albumentations 报错&#xff1a; ERROR: Command errored out with exit status 1:command: D:\anaconda3\envs\pytorch\python.exe D:\anaconda3\envs\pytorch\lib\site-packages\pip\_vendor\pep517\in_process\_in_process.py build_wheel C:\Users…

2024年营销技术远景图发布:14,106种营销技术产品(同比增长27.8%)

每年五月的第一个星期二&#xff08;美国东部时间&#xff09;&#xff0c;Scott Brinker设定为Martech Day&#xff0c;以此来庆祝营销技术行业和所有有才华的营销技术专家和营销运营专业人士的工作&#xff0c;「为你们在开拓这片荒野所做的一切而欢呼&#xff01;」 同时&a…

24年考研管综199真题PDF共18页

整理了24年考研管综199真题PDF共18页&#xff0c;包含问题求解&#xff0c;条件充分性判断&#xff0c;逻辑推理&#xff0c;写作&#xff0c;几个部分&#xff0c;希望对大家有所帮助 一、问题求解 这部分包含15道小题&#xff0c;每题3分&#xff0c;共45分。题目类型为选择…

SpringBoot使用AOP注解记录操作日志

一、前言 日志&#xff1a;指系统所指定对象的某些操作和其操作结果按时间有序的集合。 操作日志&#xff1a;主要是对某个对象进行新增操作或者修改操作后记录下这个新增或者修改&#xff0c;操作日志要求可读性比较强。比如张三在某个时间下了订单买了某个商品&#xff01; …

CSS选择器(基本+复合+伪类)

目录 CSS选择器 基本选择器 标签选择器&#xff1a;使用标签名作为选择器->选中同名标签设置样式 类选择器&#xff1a;给类选择器定义一个名字.类名&#xff0c;并给标签添加class"类名" id选择器&#xff1a;跟类选择器非常相似&#xff0c;给id选择器定义…

【Qt问题】VS2019 Qt win32项目如何添加x64编译方式

往期回顾&#xff1a; 【Qt问题】Qt常用快捷键汇总-CSDN博客 【Qt问题】Qt Creator 如何链接第三方库-CSDN博客 【Qt问题】Qt 如何带参数启动外部进程-CSDN博客 【Qt问题】VS2019 Qt win32项目如何添加x64编译方式 我们都知道vs2019在编译项目的时候是需要选择编译环境的&…