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

news2025/2/28 23:58:25

浮动

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	
}

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

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

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

相关文章

疫情下景区管理

开发工具(eclipse/idea/vscode等)&#xff1a;idea 数据库(sqlite/mysql/sqlserver等)&#xff1a;mysql 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;模块划分&#xff1a;公告类型、公告信息、用户信息、用户咨询、地区信息、景区信息、景区开放、景区预约、统计…

【Flask框架】——17 Flask蓝图

在一个Flask 应用项目中&#xff0c;如果业务视图过多&#xff0c;可否将以某种方式划分出的业务单元单独维护&#xff0c;将每个单元用到的视图、静态文件、模板文件等独立分开&#xff1f; 例如从业务角度上&#xff0c;可将整个应用划分为用户模块单元、商品模块单元、订单…

应急响应-windows/Linux主机加固

windows/Linux主机加固 1,账户安全 首先要确保电脑上的账户均为经常使用的账户&#xff0c;要禁止Guest用户&#xff0c;禁用其他无用账户&#xff0c;一段时间后无反馈即可删除&#xff0c;同时要留意是否有隐藏账户存在。 查看本地用户和组&#xff1a;右键此电脑>计算机管…

PG::FunboxEasy

nmap -Pn -p- -T4 --min-rate1000 192.168.58.111 nmap -Pn -p 22,80,33060 -sCV 192.168.58.111 查看80端口的页面&#xff0c;未发现可用信息。 对路径进行爆破 gobuster dir -u http://192.168.58.111/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt…

Vue3 —— 使用Vite配置环境变量

文章目录 一、为什么要配置环境变量?二、在Vite中配置环境变量 1.环境变量和模式2.环境变量3.生产环境替换4.env 文件总结一、为什么要配置环境变量? 在一个产品的前端开发过程中&#xff0c;一般来说会经历本地开发、测试脚本、开发自测、测试环境、预上线环境&#xff0c;然…

后疫情时代,VR全景创业的应用场景有哪些?

在数字化转型的进程中&#xff0c;VR技术可以帮助各个行业领域的企业商家更便捷地搭建沉浸式服务体验&#xff0c;帮助商家提高展示以及加快企业沟通效率。后疫情时代&#xff0c;企业数字化转型加速发展&#xff0c;VR技术已经成为企业云服务的标配工具&#xff0c;因此VR全景…

半入耳蓝牙耳机什么牌子好?音质最好的半入耳式蓝牙耳机

跑步或者游泳的时候带着耳机听音乐或者有声书&#xff0c;是一家很惬意舒心的事情&#xff0c;市面上有那么多的蓝牙耳机品牌&#xff0c;很多人在选购的时候总是犯了难&#xff0c;不知道哪款耳机值得入手&#xff0c;半入二的佩戴更加舒适&#xff0c;深受很多人的喜爱&#…

用于音频信号去噪的谱相减和陷波滤波的比较(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 谱相减减少背景&#xff08;加性&#xff09;噪声影响的最流行方法之一是谱相减。背景噪声是降低录音中语音质量和清晰度的最常…

const成员和static成员详解

const成员和static成员详解1.const成员函数2.static成员&#xff08;1&#xff09;静态成员变量&#xff08;2&#xff09;静态成员函数&#xff08;3&#xff09;静态成员使用场景1.const成员函数 将const修饰的“成员函数”称之为const成员函数&#xff0c;const修饰类成员函…

热点新品—类器官代谢组学

01为什么研究类器官如此重要&#xff1f; 类器官技术是近年来生物医学领域最具突破性的前沿技术之一&#xff0c;更是科技部发布了“十四五”国家重点研发计划的6个重点专项之一。因模型本身具有极高的创新性&#xff0c;深受基金申请和高分杂志的青睐。并且由于人源化类器官可…

让你室友、工友、小孩、断网的骚操作!ARP攻击演示!

前提&#xff1a; ① 、你需要 和 你室友处于同一个局域网&#xff0c;互相能ping通 ②、你需要知道你室友的IP ③、您可能需要一个linux 设备&#xff0c;手机也行&#xff08;需要安装termux 来执行命令&#xff09;、linux系统电脑、树莓派等都可以。 -----------------…

PCB入门学习—原理图的绘制2

目录 2.2 TEA5767音频模块的绘制 2.3 ENC28J60以太网模块的绘制 学习目录&#xff1a; 2.2 TEA5767音频模块的绘制 首先有个问题&#xff1a;为什么这个电容放在原理图上怎么移动也对不齐&#xff1f;&#xff1f; 解决方法&#xff1a;把原理图上的栅格这个东西设置成1mil…

【小甲鱼C语言】课后笔记第一章第七节——算数运算符

目录 1. 算术运算符 2. 何谓“目”&#xff1f; 3. 表达式 4. 类型转换 5.课后习题&#xff08;编程题&#xff09; 1. 算术运算符 C 语言通过提供大量的运算符来支持我们对数据进行处理&#xff0c;前边我们将一个值存放到变量中&#xff0c;使用的是赋值运算符&#xff…

lerna+rollup搭建vue组件库并发布到npm

一、框架介绍 1. lerna Lerna 是一个管理工具&#xff0c;用于管理包含多个软件包&#xff08;package&#xff09;的 JavaScript 项目。 目的是将大型代码仓库分割成多个独立版本化的软件包。 官网点这里 2. rollup Rollup 是一个 JavaScript 模块打包工具&#xff0c;可以将…

骨灰级精品,京东百万架构师亲码的MySQL内部笔记太硬核了

前言 MySQL是Java程序员面向高级的必备技能&#xff0c;很多朋友在面试时经常在这里折戟沉沙&#xff0c;饮恨不已。熟练掌握MySQL知识&#xff0c;在实践中具有很强的操作性&#xff0c;尤其是在互联网行业&#xff0c;不仅要写好代码、实现功能&#xff0c;而且还要在高并发…

P1983 [NOIP2013 普及组] 车站分级——拓扑排序+dp

[NOIP2013 普及组] 车站分级 题目描述 一条单向的铁路线上&#xff0c;依次有编号为 $1, 2, …, n $的 $n $个火车站。每个火车站都有一个级别&#xff0c;最低为 111 级。现有若干趟车次在这条线路上行驶&#xff0c;每一趟都满足如下要求&#xff1a;如果这趟车次停靠了火车…

二进制转化成十进制进行输出

给定两个十进制整数 : AAA,BBB 你需要把它们的二进制形式以十进制的运算法则相加输出结果。 例如&#xff1a; A3,B2A 3 , B 2A3,B2 的时候&#xff0c;AAA 的二进制表示是 : 111111 , BBB 的二进制表示是 101010 &#xff0c;你需要输出答案为 : 212121 输入描述: 一行两…

educoder:实验13 算法-穷举法和二分法

第1关&#xff1a;百钱百鸡 任务描述 我国古代数学家张丘建在《算经》一书中提出的数学问题&#xff1a;鸡翁一值钱五&#xff0c;鸡母一值钱三&#xff0c;鸡雏三值钱一。百钱买百鸡&#xff0c;问鸡翁、鸡母、鸡雏各几何&#xff1f; 相关知识 为了完成本关任务&#xff…

和ChatGPT大战多个回合,我知道了这些真相

最近&#xff0c;ChatGPT在国内外社交平台上可谓是火出圈了。作为一款人工智能语言模型&#xff0c;它可以和人类以对话的方式进行互动&#xff0c;比你早已熟知的Siri&#xff0c;小度还有小爱同学要更加智能与专业。因为它除了回答问题外还能进行创作&#xff0c;比如写小作文…

喜报 | Bonree ONE 2.0荣获信通院“2022IT新治理年度明星产品”

近日&#xff0c;由信通院“GOLFIT新治理领导力论坛”评选的2022IT新治理年度明星产品重磅出炉&#xff0c;博睿数据一体化智能可观测平台Bonree ONE 2.0凭借卓越的产品力以及优秀的用户体验&#xff0c;从一众产品中脱颖而出&#xff0c;获得“2022IT新治理年度明星产品”。 …