前端基础(十一)_Float浮动、清除浮动的几种方法

简介: 本文介绍了浮动的概念、属性、特性以及清除浮动的几种方法,并通过实例演示了如何使用CSS实现元素的浮动和处理浮动带来的问题。

浮动

1、什么是浮动?

目的:为了让多个块级元素在同一行显示;
文档流:可显示的对象在排列时所占的位置;
浮动:使元素脱离正常的文档流,按照指定的顺序,方向发生移动,直到碰到父元素外边缘或者相邻浮动元素边框为止;
脱离正常文档流:表示浮动后不在原来的位置 原来的位置不占位;
注意:只能向左或者向右移动 水平方向浮动 不能上下移动。
浮动了z-index提高了半层 但不能覆盖文字图片 所以不脱离文本流(z-index 属性只能给定位元素使用)。
在这里插入图片描述

2、浮动属性

float:left;  元素向左浮动
float:right;元素向右浮动
float:none; 默认值,元素不浮动 默认
<!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>
    .span1 {
    
      float: left;
      width: 150px;
      height: 100px;
      line-height: 100px;
    }

    .div2 {
    
      float: right;
    }
  </style>
</head>

<body>

  <span class="span1">
    我是span1
  </span>
  <div class="div2">
    我是div2
  </div>
</body>

</html>

在这里插入图片描述

这个时候可以发现浮动可以使块级元素由内容撑开

在这里插入图片描述
这个时候可以发现浮动元素使行级元素支持宽高

3、浮动特性

3.1、浮动会脱离正常文档流;
3.2、浮动元素层级可以提升;半层;半脱离文档流
3.3、浮动元素使行级元素支持宽高;
3.4、浮动可以使块级元素由内容撑开;
3.5、元素添加浮动之后,不占位,父级盒子高度0

浮动会脱离正常文档流例子:

<!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>
    .span1 {
    
      float: left;
      width: 150px;
      height: 100px;
      line-height: 100px;
      background-color: red;
      color: #fff;
    }

    .div2 {
    
      float: right;
      background-color: blue;
      color: #fff;
    }
  </style>
</head>

<body>
  我是正常的问题111
  <span class="span1">
    我是span1
  </span>
  我是正常的问题222
  <div class="div2">
    我是div2
  </div>
</body>

</html>

在这里插入图片描述

半脱离文档流

<!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>
    .span1 {
    
      float: left;
      width: 150px;
      height: 100px;
      line-height: 100px;
      background-color: red;
      color: #fff;
    }

    .div2 {
    
      background-color: blue;
      color: #fff;
    }
  </style>
</head>

<body>
  <span class="span1">
    我是span1
  </span>
  <div class="div2">
    我是div2
  </div>
</body>

</html>

在这里插入图片描述
在这里插入图片描述

发现span1元素实在div2上面的,但是div2的文本没有被挡住,所以是半脱离文档流,没有完全脱机文档流,
如果想要看完全脱离,那效果就是我们看不到我是div2这个文本了,被span1这个元素挡住了,我们可以使用定位position实现。

元素添加浮动之后,不占位,父级盒子高度0

<!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>
    .span1 {
    
      float: left;
      width: 150px;
      height: 100px;
      line-height: 100px;
      background-color: red;
      color: #fff;
    }
  </style>
</head>

<body>
  <div class="box1">
    <span class="span1">
      我是span1
    </span>
  </div>
</body>
</html>

在这里插入图片描述

根据上面的例子我们可以总结一下:元素浮动以后,脱离正常文档流,父元素高度为0,导致父元素高度塌陷,会影响与父元素同级的后续元素的正常布局。

4、清除浮动的几种方法

1、给浮动元素的父级盒加固定的高度–不够灵活
2、为浮动元素的父级盒子加浮动–会产生新的浮动问题
3、为浮动元素的父级盒子设置overflow属性,属性值可以是hidden|scroll|auto—可能会导致显示内容不完全;但是代码简洁
4、在浮动元素之后,很浮动元素呈并列关系的位置加一个空的div,在空div上加一个属性 clear:both;–代码冗余、通俗易懂、书写方便
5、推荐方式:给浮动元素的父级盒子加类名 .clearfix

.clearfix{
   *zoom:1}

.clearfix::after{
   
    content:””;
    display:block;
    clear:both;
    visibility:hidden;
    height:0    
}

不会在结构上产生冗余代码,可以写在公共样式里面方便重复使用;符合闭合浮动思想,结构语义化正确

目录
相关文章
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
233 1
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
797 1
|
前端开发
前端浮动模块
前端浮动模块
97 0
前端浮动模块
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
983 14
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
304 0
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
433 6
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
557 1
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
578 1
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
555 0
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 3
    前端工程化演进之路:从手工作坊到AI驱动的智能化开发
  • 4
    Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 6
    实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式