DIV+CSS网页布局
本文参考
https://blog.csdn.net/ZhangJiWei_2019/article/details/114669722
二、浮动
浮动的元素会向左或向右浮动,直到碰到前面已经有浮动的元素或者是其父元素的边框为止。浮动的元素会脱离文档流(不再占有原来的位置)。
(一)左右浮动
块级元素除了使用display: inline-block;可以使其共占一行外,还可以使用浮动来实现。
还是两个div的例子,正常状态下是这个效果。

我们给这两个div加一个外层容器作为他们的父容器:
.father-box {border: #FF0000 4px solid;
}
<div class="father-box"><div class="box">1</div><div class="box">2</div>
</div>

给第一个div设置向左浮动效果
<div class="father-box"><div class="box" style="float: left;">1</div><div class="box">2</div>
</div>

可以看到页面效果发生了变化,第二个div不见了,其实第二个div并没有消失,而是第一个div浮动起来之后它的空间被释放出来(脱离文档流,不占有原来的空间),第二个div进行了向前补位,去到了原本第一个div的位置,被浮起来的第一个div遮挡住了。简而言之,浮动的元素脱离了这个平面去到了这个平面的上方。
但浮动的元素不是无限制的浮动,而是在自己父容器范围内浮动,向左浮动时,碰到其父容器的左边缘或者该元素前面其它已经浮动的元素就会停止。
这里的第一个div就是碰到了其父元素的左边框停止的。
接下来我们给第二个div也加上浮动:
<div class="father-box"><div class="box" style="float: left;">1</div><div class="box" style="float: left;">2</div>
</div>

这时第二个div也浮了起来,两个div又到了同一个平面上,第二个div因为碰到了前面已经浮动的第一个div停止了浮动
(二)清除浮动(所带来的影响)
虽然元素浮动起来之后可以实现共占一行的效果,但是也给其父元素和后面的元素产生了影响,所以就有了清除浮动所带来的影响的方法。
1. 清除第一种影响,对父元素产生的影响。
上面的例子两个div都浮动起来之后,因为脱离了出来,导致其父容器内没有了东西,所以父容器的高度也没法被撑开,看上去像变成了一条线。
(1)给父容器加高度清除影响
.father-box {border: #FF0000 4px solid;height: 200px;
}

(2)给父容器加overflow: auto或overflow: hidden清除影响

两种方式都可让父容器的高度恢复。
2. 清除第二种影响,对后面元素产生的影响。
先回到没有清除影响的时候:
.father-box {border: #FF0000 4px solid;
}

我们再加一个div而且不设置浮动:
<div class="father-box"><div class="box" style="float: left;">1</div><div class="box" style="float: left;">2</div><div class="box">3</div>
</div>

这时页面效果中父元素的高被新增的div撑开,但是由于该div没有浮动,还在这两个div的下层,自动补位到了第一个div的下面,被第一个div所遮挡住,看不见。
要想让浮动元素的后续元素不自动向前补位(也就是说即使元素浮动了,原本的位置要给它留出来),我们可以使用clear来清除这个影响,它的值有left、right、both,left代表清除左浮动带来的影响,right代表清除右浮动带来的影响,both代表两者都清除。
我们需要多加一个空白元素来执行清除影响:
<div class="father-box"><div class="box" style="float: left;">1</div><div class="box" style="float: left;">2</div><!-- 使用一个空的 div 清除浮动 --><div style="clear: both;"></div><div class="box">3</div>
</div>

第三个div恢复原有的排版独占一行。
向右浮动同理,这里不再讲述。
本例完整代码:
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>浮动</title><style>.box {width: 100px;height: 100px;background-color: red;color: white;padding: 20px;margin: 20px;box-sizing: border-box;}.father-box {border: #FF0000 4px solid;}</style>
</head>
<body><div class="father-box"><div class="box" style="float: left;">1</div><div class="box" style="float: left;">2</div><!-- 使用一个空的 div 清除浮动 --><div style="clear: both;"></div><div class="box">3</div></div>
</body>
</html>
相关文章:
DIV+CSS网页布局
本文参考 https://blog.csdn.net/ZhangJiWei_2019/article/details/114669722 二、浮动 浮动的元素会向左或向右浮动,直到碰到前面已经有浮动的元素或者是其父元素的边框为止。浮动的元素会脱离文档流(不再占有原来的位置)。 (…...
python二次开发CATIA:CATIA Automation
CATIA 软件中有一套逻辑与关系都十分严谨的自动化对象,它们从CATIA(Application)向下分支。每个自动化对象(Automation Object,以下简称Object)都有各自的属性与方法。我们通过程序语言调用这些 Object 的属性与方法,便…...
2023年中国云计算软件市场规模、市场结构及市场份额情况分析[图]
云计算是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算软件类型分为三类,即基础设施即服务、平台即服…...
docker入门加实战—部署Java和前端项目
docker入门加实战—部署Java和前端项目 部署之前,先删除nginx,和自己创建的dd两个容器: docker rm -f nginx dd部署Java项目 作为演示,我们的Java项目比较简单,提供了一个接口: 配置文件连接docker里的m…...
机器人制作开源方案 | 行星探测车概述
1. 功能描述 行星探测车(Planetary Rover)是一种用于进行科学探索和勘测任务的无人车辆,它们被设计成能够适应各种复杂的地形条件和极端环境,以便收集数据、拍摄照片、采集样本等。行星探测车通常包含以下主要组件和功能ÿ…...
Git基础命令
一、Git 码云创建空白仓库 什么都不选,使用代码初始化 初始化仓库:git init 配置信息:git config user.name"mashuchao" 配置信息:git config user.email"mashuchao.com" 查看配置信息:git c…...
C#中Semaphore 和 CountdownEvent 的使用总结
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量。一旦该关键代码段完成了,那么该线程必须释…...
THE PLANETS:EARTH vulnhub
信息收集 netdiscover -i eth0 -r 192.168.239.0,扫描存活主机,发现目标主机 对目标主机进行端口扫描:nmap -p- -sV -O -Pn -A 192.168.239.186,发现443端口存在DNS,域名 在本地得/etc/hosts中添加域名信息 浏览…...
【随想】每日两题Day.13
题目:344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入&…...
CMake Cookbook
使用CMake软件对项目模块,进行构建、测试和打包。 Introduction - 《CMake菜谱(CMake Cookbook中文版)》 - 书栈网 BookStack https://github.com/dev-cafe/cmake-cookbook/tree/v1.0...
钢铁异常分类 few-shot 问题 小陈读paper 钢铁2
很清爽的 abstract 给出链接 前面的背景意义 其实 是通用的 这里替大家 整理一吓吓 1 缺陷分类在钢铁表面缺陷检测中 有 意义。 2 大多数缺陷分类模型都是基于完全监督的学习, 这需要大量带有图像标签的训练数据。 在工业场景中收集有缺陷的图像是非常困难…...
flask实战(问答平台)
问答平台项目结构搭建 先创建一个配置文件config.py,后面有些配置写在这里 #app.py from flask import Flask import configapp Flask(__name__) #绑定配置文件 app.config.from_object(config)app.route(/) def hello_world(): # put applications code herer…...
RK3568驱动模块编译进内核
一、创建文件 首先在drivers/char目录下创建hello文件夹,然后在hello文件夹下创建hello.c 文件、Kconfig和Makefile文件。 hello.c 文件内容如下 #include <linux/module.h> #include <linux/kernel.h> static int __init helloworld_init(void) …...
黑马程序员Java Web--14.综合案例--修改功能实现
一、BrandMapper包 首先,在BrandMapper包中定义用来修改的方法,和使用注解的sql语句。 BrandMapper包所在路径: package com.itheima.mapper; /**** 修改* **/Update("update tb_brand set brand_name #{brandName},company_name #{c…...
开源协议介绍
文章目录 一、简介二、常见开源协议介绍2.1 BSD (Berkeley Software Distribution license)2.2 MIT(Massachusetts Institute of Technology)2.3 Apache Licence 2.02.4 GPL(General Public License)2.5 LG…...
solidworks 2024新功能之-打造更加智能的工作 硕迪科技
SOLIDWORKS 2024 的新增功能 SOLIDWORKS 的每个版本都致力于改进您的工作流程,使您常用的工具尽可能快速高效地运作。此外,SOLIDWORKS 2024 可以通过量身定制的解决方案扩展您的工具集,并使您能够通过 Cloud Services 轻松将您的设计数据连接…...
Datawhale学习笔记AI +新能源:电动汽车充电站充电量预测
赛题介绍 建立站点充电量预测模型,根据充电站的相关信息和历史电量数据,准确预测未来某段时间内充电站的充电量需求。 在赛题数据中,我们提供了电动汽车充电站的场站编号、位置信息、历史电量等基本信息。我们鼓励参赛选手在已有数据的基础上…...
记一次fineBI的增量删除更新BUG
官方文档链接是https://help.fanruan.com/finebi/doc-view-1663.html 按照官方文档,增量删除不能使用select * ,且需要指定分区建 但实际指定分区键有时候也会报错,因为表设置的字段有时候会比数据源少,此时会报错,提…...
rsync+inotify实时同步+双向同步
准备主机 192.168.1.247 (源) /home/appdata 192.168.1.248 (目的) /home/appdata 实现效果: 1.用rsync手动将192.168.1.247 的/home/appdata同步到192.168.1.248的/home/appdata目录。 2.用inotify组件实现文件的…...
7.继承与多态 对象村的优质生活
7.1 民法亲属篇:继承(inheritance) 了解继承 在设计继承时,你会把共同的程序代码放在某个类中,然后告诉其他的类说此类是它们的父类。当某个类继承另一个类的时候,也就是子类继承自父类。以Java的方式说&…...
啪」的一声脆响,空气击穿时那道紫色电弧总能让人心头一紧。咱们今天用COMSOL做个好玩的——计算两根针尖电极间的击穿电压,看看电场怎么在金属尖角处「拧麻花
comsol放电电极击穿空气模拟,计算击穿间隙的电压,周围附近的电场老规矩,先画个直径10mm的球头圆柱电极,对面放个尖角曲率半径0.1mm的针电极,间隙留5mm。材料库选「空气」,但要注意击穿模型得用自定义的。物…...
手把手教你用RK3576开发板驱动RC522读卡器:一个SPI实战项目的完整配置流程
手把手教你用RK3576开发板驱动RC522读卡器:一个SPI实战项目的完整配置流程 在嵌入式开发领域,能够独立完成一个从硬件连接到软件驱动的完整项目,是每个开发者成长的必经之路。RK3576作为一款性能强劲的开发板,搭配常见的RC522读卡…...
告别手动更新!用Python+Pandas快速解析通达信tnf文件,构建本地股票代码库
用PythonPandas高效解析通达信TNF文件:打造自动化股票代码库 每次手动更新股票代码库时,那些重复性操作总让我想起学生时代抄写课文的场景——机械、耗时且容易出错。作为量化研究员,我们真正需要的是把时间花在策略优化上,而不是…...
从10分钟/件到30秒/件!我用YOLOv8自动识别电商SKU,效率提升10倍
上周三凌晨2点,我盯着电脑屏幕发呆:又到了电商商品上架的时间。人工识别SKU需要10分钟/件,系统错误率高达15%,仓库主管拍桌子说"这AI比老式Excel还慢"。我试过12种方案,结果全是"识别失败"、“精度…...
5分钟掌握Vue工作流设计器:workflow-bpmn-modeler终极指南
5分钟掌握Vue工作流设计器:workflow-bpmn-modeler终极指南 【免费下载链接】workflow-bpmn-modeler 🔥 flowable workflow designer based on vue and bpmn.io7.0 项目地址: https://gitcode.com/gh_mirrors/wo/workflow-bpmn-modeler 还在为复杂…...
从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录(附各阶段工具包)
从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录 记得大一刚接触编程时,连最简单的冒泡排序都要调试半天。三年后站在领奖台上,回想这段旅程,最珍贵的不是奖牌,而是那些深夜debug的坚持和突破自我的瞬间。这…...
船舶水动力学与运动控制技术指南:从理论建模到工程实践
船舶水动力学与运动控制技术指南:从理论建模到工程实践 【免费下载链接】FossenHandbook Handbook of Marine Craft Hydrodynamics and Motion Control is an extensive study of the latest research in marine craft hydrodynamics, guidance, navigation, and co…...
OSI七层模型的意义:网络世界的工程思维密码
理解七层网络模型(OSI模型)的意义,不在于死记硬背哪一层叫什么名字,而在于它能帮你建立一套拆解复杂系统的思维框架。具体来说,学习它主要有以下几层价值:1. 建立“分而治之”的工程思维网络通信是一个极其…...
智能猫砂盆:除臭静音,养猫更省心!
行业痛点分析当前智能猫砂盆领域面临两大核心挑战:清洁残留与安全防护。传统自动铲屎机型在完成集便动作后,猫砂盆底部仍会残留约15%-20%的沾尿结团猫砂(数据表明:第三方实验室对6款主流机型测试结果),用户…...
良久团购报单查单小程序开发
需求分析与规划 明确小程序的核心功能:报单(提交订单)、查单(查询订单状态)、团购管理(商品展示、拼团进度)。 确定用户角色:普通用户(参与团购)、管理员&…...
