news 2026/4/20 0:13:33

css浮动

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
css浮动

一、浮动

浮动的定义
float 属性定义元素在哪个方向浮动,任何元素都可以浮动。
值----- -描述
left----- 元素向左浮动
right —元素向右浮动

浮动的原理
浮动以后使元素脱离了文档流
浮动只有左右浮动,没有上下浮动

元素向左浮动
脱离文档流之后,元素相当于在页面上面增加一个浮层来放置内容。此时可以理解为有两层页面, 一层是底层的原页面,一层是脱离文档流的上层页面,所以会出现重叠现象

1.浮动作用

<!DOCTYPE html> <!-- 浮动作用: 1.早期的作用:图文环绕 2.现在的作用:网页布局 --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; } div{ /* 浏览器解析行内块或行内标签的时候,如果标签换行书写会产生一个空格的距离 */ display: inline-block; width: 100px; height: 100px; } .one{ background-color: pink; } .two{ background-color: green; } </style> </head> <body> <div class="one">one</div> <div class="two">two</div> </body> </html>

2.体验浮动

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> /* img{ float: left; } */ div{ width: 100px; height: 100px; } .one{ background-color: pink; float: left; } .two{ background-color: green; /* float: right; */ float: left; } </style> </head> <body> <!-- 1.图文环绕 --> <!-- <img src="lbr-img-186.webp" alt=""> 这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的这里有和哪个好克劳斯蛋糕的好方法敦煌饭店好地方豆花饭和删了对方的都是废话多少分考上的 --> <!-- 2.网页布局:块在一行排列--> <div class="one">one</div> <div class="two">two</div> </body> </html>

3.浮动特点

<!DOCTYPE html> <!-- 浮动的特点 1.浮动元素会脱离标准流(简称:脱标),在标准流中不占位置 ・相当于从地面飘到了空中 2.浮动元素比标准流高半个级别,可以覆盖标准流中的元素 3.浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动 4.浮动元素有特殊的显示效果 ・一行可以显示多个 ・可以设置宽高 注意点: ・浮动的元素不能通过 text-align:center 或者 margin:0 auto --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> /* 浮动的标签,顶对齐 */ /* 浮动:在一行排列,宽高生效 -- 浮动后的标签具备行内块特点 */ .one{ width: 100px; height: 100px; background-color: pink; float: left; margin-top: 50px; } .two{ width: 200px; height: 200px; background-color: skyblue; float: left; /* 因为有浮动,不能生效 - 盒子无法水平居中 */ margin: 0 auto; } .three{ width: 300px; height: 300px; background-color: orange; } </style> </head> <body> <div class="one">one</div> <div class="two">two</div> <div class="three">three</div> </body> </html>

4.浮动案例-小米布局

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; box-sizing: border-box; } .top{ height: 40px; background-color: #333; } .header{ width: 1226px; height: 100px; background-color: #ffc0cb; margin: 0 auto; } .content{ width: 1226px; height: 460px; background-color: green; margin: 0 auto; } .left{ width: 234px; height: 460px; background-color: #ffa500; float: left; } .right{ width: 992px; height: 460px; background-color: #87ceeb; float: left; } /* CSS 书写顺序:浏览器执行效率更高 1.浮动 /display 2.盒子模型: margin border padding 宽度高度背景色 3.文字样式 */ </style> </head> <body> <div class="top"></div> <div class="header"></div> <div class="content"> <div class="left">left</div> <div class="right">right</div> </div> </body> </html>

5.浮动案例-小米产品

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .box{ margin: 0 auto; width: 1226px; height: 614px; /* background-color: gold; */ } .left{ float: left; width: 234px; height: 614px; background-color: #800080; } .right{ float: right; width: 978px; height: 614px; /* background-color: green; */ } ul{ /* 去掉列表符号 */ list-style: none; } li{ float: left; margin-right:14px; margin-bottom: 14px; width: 234px; height: 300px; background-color: #87ceeb; } /* 父级宽度不够,浮动不上去 */ /* 第四个 li 和第八个 li 右侧间距清除 */ li:nth-child(4n){ margin-right: 0; } </style> </head> <body> <div class="box"> <div class="left"></div> <div class="right"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> </div> </body> </html>

6.浮动按钮-导航栏

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin: 0; padding: 0; box-sizing: border-box; } .nav{ margin: 0 auto; width: 640px; height: 50px; background-color: #ffc0cb; } ul{ list-style: none; } li{ float: left; } .nav li a{ display: inline-block; width: 80px; height: 50px; background-color: #ffc0cb; font-size: 16px; text-decoration: none; color: white; line-height: 50px; text-align: center; } .nav li a:hover{ background-color: green; } </style> </head> <body> <div class="nav"> <!-- ul>li*8>a{新闻$} --> <ul> <li><a href="#">新闻1</a></li> <li><a href="#">新闻2</a></li> <li><a href="#">新闻3</a></li> <li><a href="#">新闻4</a></li> <li><a href="#">新闻5</a></li> <li><a href="#">新闻6</a></li> <li><a href="#">新闻7</a></li> <li><a href="#">新闻8</a></li> </ul> </div> </body> </html>

7.受浮动影响

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .top { margin: 0 auto; width: 1000px; /* height: 300px; */ background-color: pink; } .bottom { height: 100px; background-color: green; } .left { float: left; width: 200px; height: 300px; background-color: #ccc; } .right { float: right; width: 790px; height: 300px; background-color: skyblue; } </style> </head> <body> <!-- 父子级标签,子级浮动,父级没有高度, 后面的标准盒子会受影响,显示到上面的位置--> <div class="top"> <div class="left"></div> <div class="right"></div> </div> <div class="bottom"></div> </body> </html>

二 清除浮动

含义:清除浮动带来的影响

影响:如果子元素浮动了,此时子元素不能撑开标准流的块级父元素

原因:子元素浮动后脱标 → 不占位置

目的:需要父元素有高度,从而不影响其他网页元素的布局

1.直接设置父元素高度

<!DOCTYPE html> <!-- 清除浮动的方法 — ① 直接设置父元素高度 ▶ 特点: ・优点:简单粗暴,方便 ・缺点:有些布局中不能固定父元素高度。如:新闻列表、京东推荐模块 --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .top { margin: 0 auto; width: 1000px; height: 300px; background-color: pink; } .bottom { height: 100px; background-color: green; } .left { float: left; width: 200px; height: 300px; background-color: #ccc; } .right { float: right; width: 790px; height: 300px; background-color: skyblue; } </style> </head> <body> <!-- 父子级标签,子级浮动,父级没有高度, 后面的标准盒子会受影响,显示到上面的位置--> <div class="top"> <div class="left"></div> <div class="right"></div> </div> <div class="bottom"></div> </body> </html>

2.额外标签法

<!DOCTYPE html> <!-- 清除浮动的方法 — ②额外标签法 操作: 在父元素内容的最后添加一个块级元素 给添加的块级元素设置 clear:both 特点: ・缺点:会在页面中添加额外的标签,会让页面的 HTML 结构变得复杂 --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .top { margin: 0 auto; width: 1000px; /* height: 300px; */ background-color: pink; } .bottom { height: 100px; background-color: green; } .left { float: left; width: 200px; height: 300px; background-color: #ccc; } .right { float: right; width: 790px; height: 300px; background-color: skyblue; } .clearfix{ /* 清除左右两侧浮动的影响 */ clear: both; } </style> </head> <body> <!-- 父子级标签,子级浮动,父级没有高度, 后面的标准盒子会受影响,显示到上面的位置--> <div class="top"> <div class="left"></div> <div class="right"></div> <div class="clearfix"></div> </div> <div class="bottom"></div> </body> </html>

3.单伪元素清除法

<!DOCTYPE html> <!-- 清除浮动的方法 — ③ 单伪元素清除法 操作:用伪元素替代了额外标签 特点: ・优点:项目中使用,直接给标签加类即可清除浮动 --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .top { margin: 0 auto; width: 1000px; /* height: 300px; */ background-color: pink; } .bottom { height: 100px; background-color: green; } .left { float: left; width: 200px; height: 300px; background-color: #ccc; } .right { float: right; width: 790px; height: 300px; background-color: skyblue; } /* 单伪元素清除法 */ .clearfix::after { content: ''; /* 伪元素添加的标签是行内,要求块 */ display: block; clear: both; /* 为了兼容性 */ height: 0; visibility: hidden; } </style> </head> <body> <!-- 父子级标签,子级浮动,父级没有高度, 后面的标准盒子会受影响,显示到上面的位置--> <div class="top clearfix"> <div class="left"></div> <div class="right"></div> <!-- 通过CSS添加一个标签 --> </div> <div class="bottom"></div> </body> </html>

4.双伪元素清除法

<!DOCTYPE html> <!-- 清除浮动的方法 — ④ 双伪元素清除法 特点: ・优点:项目中使用,直接给标签加类即可清除浮动 --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .top { margin: 0 auto; width: 1000px; /* height: 300px; */ background-color: pink; } .bottom { height: 100px; background-color: green; } .left { float: left; width: 200px; height: 300px; background-color: #ccc; } .right { float: right; width: 790px; height: 300px; background-color: skyblue; } /* .clearfix:before 作用:解决外边距塌陷问题 外边距塌陷:父子标签,都是块级,子级加 margin 会影响父级的位置 */ /* 清除浮动 */ .clearfix::before, .clearfix::after { content: ''; display: table; } /* 真正清除浮动的标签 */ .clearfix::after { clear: both; } </style> </head> <body> <!-- 父子级标签,子级浮动,父级没有高度, 后面的标准盒子会受影响,显示到上面的位置--> <div class="top clearfix"> <div class="left"></div> <div class="right"></div> <!-- 通过CSS添加一个标签 --> </div> <div class="bottom"></div> </body> </html>

5.给父元素设置 overflow:hidden

<!DOCTYPE html> <!-- 清除浮动的方法 — ⑤给父元素设置 overflow:hidden 操作: 直接给父元素设置 overflow:hidden 特点: 优点:方便 --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .top { margin: 0 auto; width: 1000px; /* height: 300px; */ background-color: pink; overflow: hidden; } .bottom { height: 100px; background-color: green; } .left { float: left; width: 200px; height: 300px; background-color: #ccc; } .right { float: right; width: 790px; height: 300px; background-color: skyblue; } </style> </head> <body> <!-- 父子级标签,子级浮动,父级没有高度, 后面的标准盒子会受影响,显示到上面的位置--> <div class="top"> <div class="left"></div> <div class="right"></div> </div> <div class="bottom"></div> </body> </html>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 17:04:55

在Spring Boot项目中,Shiro和Spring Security该如何选择?

安全管理是Java应用开发中无法避免的问题&#xff0c;随着Spring Boot和微服务的流行&#xff0c;Spring Security受到越来越多Java开发者的重视&#xff0c;究其原因,还是沾了微服务的光。作为Spring家族中的一员,其在和Spring家族中的其他产品如SpringBoot、Spring Cloud等进…

作者头像 李华
网站建设 2026/4/15 11:06:03

如何翻译图片?图片上的外语一键翻译成中文,教程来了~

工程图纸是扫描图可以翻译吗&#xff1f;手机拍的图纸照片可以翻译吗&#xff1f;图片形式的图纸可以翻译吗&#xff1f;针对以上三类工程图纸翻译常见问题&#xff0c;进行统一答复&#xff1a;PlanForm-AI工程图纸翻译都可以翻译&#xff0c;教程如下&#xff1a;1.如果你遇到…

作者头像 李华
网站建设 2026/4/18 8:41:02

GPU算力革命:突破性能极限

GUP算力概述GUP&#xff08;General-Purpose Computing on Graphics Processing Units&#xff09;指利用图形处理器&#xff08;GPU&#xff09;进行通用计算的技术。与传统CPU相比&#xff0c;GPU凭借其并行计算架构&#xff0c;在高吞吐量任务&#xff08;如深度学习、科学计…

作者头像 李华
网站建设 2026/4/16 23:56:19

Martin Fowler:AI带来非确定性计算时代的挑战与机遇

Thoughtworks首席科学家、面向对象编程长期专家Martin Fowler认为&#xff0c;AI是他整个职业生涯中见过的最大编程转变。在由Gergely Orosz主持的Pragmatic Engineer播客采访中&#xff0c;Fowler坦言关于AI&#xff0c;"我们仍在学习如何做到这一点。"对于行业来说…

作者头像 李华
网站建设 2026/4/18 9:56:33

别再迷信 Playwright 了,真正决定成败的不是浏览器

我以前也以为&#xff0c;只要页面是 JS 渲染的&#xff0c;上 Playwright 或 Selenium&#xff0c;问题基本就解决了。 后来在一个真实项目里&#xff0c;我用同一个目标站点做了三组对比实验&#xff0c;结论非常清楚&#xff1a; 浏览器自动化解决的是页面执行问题&#xff…

作者头像 李华
网站建设 2026/4/18 10:52:34

小程序搭建平台三大类型解析与选择建议

微信小程序已然成了连接线上与线下商业的关键桥梁&#xff0c;给企业以及商家给予了数字化的经营全新渠道。伴随微信小程序生态持续完善&#xff0c;市场当中涌现出多种类型的小程序搭建平台&#xff0c;从技术实现途径到功能定位各有侧重点。知晓不同平台的特性以及适用场景&a…

作者头像 李华