前言

持续总结输出中,今天分享的是Web前端,CSS中的浮动、清除浮动。浮动和清除浮动是我们常用的css样式。今天我们就来了解他们。


1、浮动的作用

早期的作用:图文环绕


现在的作用:网页布局
• 场景:让垂直布局的盒子变成水平布局,如:一个在左,一个在右

2、浮动的代码

属性:float 浮动

属性名 效果
left 左浮动
right 右浮动

3、浮动的特点

  1. 浮动元素会脱离标准流(简称:脱标),在标准流中不占位置
    • 相当于从地面飘到了空中
  2. 浮动元素比标准流高半个级别,可以覆盖标准流中的元素
  3. 浮动找浮动,下一个浮动元素会在上一个浮动元素后面左右浮动
  4. 浮动元素有特殊的显示效果
    • 一行可以显示多个
    • 可以设置宽高

注意点:

• 浮动的元素不能通过text-align:center或者margin:0 auto

<!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>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 http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.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 {float: left;width: 234px;height: 460px;background-color: #ffa500;}.right {float: left;width: 992px;height: 460px;background-color: #87ceeb;}/* CSS书写顺序: 浏览器执行效率更高1. 浮动 / display2. 盒子模型: 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>

运行结果:

参考页面产品布局

<!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>Document</title><style>* {margin: 0;padding: 0;}.box {margin: 0 auto;width: 1226px;height: 614px;/* background-color: pink; */}.left {float: left;width: 234px;height: 614px;background-color: #800080;}.right {float: right;width: 978px;height: 614px;/* background-color: green; */}ul {/* 去掉列表的符号 */list-style: none;}.right li {float: left;margin-right: 14px;margin-bottom: 14px;width: 234px;height: 300px;background-color: #87ceeb;}/* 如果父级的宽度不够, 子级会自动换行 *//* 第四个li和第八个li右侧间距清除 */.right 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>

运行结果:

导航参考

<!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>Document</title><style>* {margin: 0;padding: 0;}.nav {margin: 50px auto;width: 640px;height: 50px;background-color: #ffc0cb;}ul {list-style: none;}.nav li {float: left;}.nav li a {/* 1. 浮动 / display *//* display: inline-block; */display: block;/* 2. 盒子模型 */width: 80px;height: 50px;/* background-color: green; *//* 3. 文字样式 */text-align: center;line-height: 50px;color: #fff;text-decoration: none;}.nav li a:hover {background-color: green;}</style>
</head>
<body><!-- 导航 --><div class="nav"><ul><li><a href="#">博客</a></li><li><a href="#">下载.课程</a></li><li><a href="#">学习</a></li><li><a href="#">问答</a></li><li><a href="#">社区</a></li><li><a href="#">插件</a></li><li><a href="#">认证</a></li><li><a href="#">开源</a></li></ul></div>
</body>
</html>

运行结果:

书写网页导航步骤:

  1. 清除默认的margin和padding
  2. 找到ul,去除小圆点
  3. 找到li标签,设置浮动让li一行中显示
  4. 找到a标签,设置宽高 → a标签默认是行内元素,默认不能设置宽高??
    • 方法一:给a标签设置 display : inline-block
    • 方法二:给a标签设置 display : block
    • 方法三:给a设置 float : left

5、清除浮动的介绍

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

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

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

6、清除浮动的方法

清除浮动的方法

1.直接设置父元素高度

优点:
简单粗暴,方便

缺点:
有些布局中不能固定父元素高度。如:新闻列表、京东推荐模块

2.额外标签法

方法:

  1. 在父元素内容的最后添加一个块级元素
  2. 给添加的块级元素设置 clear:both

缺点:
会在页面中添加额外的标签,会让页面的HTML结构变得复杂

3.单伪元素清除法

方法:
用伪元素替代了额外标签

1、基本写法
.clearfix::after {content: '';display: block;clear: both;}
2、补充写法
.clearfix::after {content: '';display: block;clear: both;/* 补充代码:在网页中看不到伪元素 */height: 0;visibility: hidden;
}

优点:
项目中使用,直接给标签加类即可清除浮动

4.伪元素清除法

方法:

 /* 清除浮动 */
.clearfix::before,
.clearfix::after {content: '';display: table;
}/* 真正清除浮动的标签 */
.clearfix::after {clear: both;
}

优点:

项目中使用,直接给标签加类即可清除浮动

5.给父元素设置overflow : hidden
方法:
直接给父元素设置 overflow : hidden

优点:
方便

参考案例

<!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>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>

运行结果:

7、BFC的介绍

块格式化上下文(Block Formatting Context):BFC
• 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。

创建BFC方法:

  1. html标签是BFC盒子
  2. 浮动元素是BFC盒子
  3. 行内块元素是BFC盒子
  4. overflow属性取值不为visible。如:auto、hidden…

BFC盒子常见特点:

  1. BFC盒子会默认包裹住内部子元素(标准流、浮动)→ 应用:清除浮动
  2. BFC盒子本身与子元素之间不存在margin的塌陷现象 → 应用:解决margin的塌陷

8、总结

最后分享一句话:

真正的朋友,无论男女,若是相知,必然相惜,若真相惜,只为真心,无关风月。
《麦田里的守望者》
——「美」塞林格

本次的分享就到这里了!!!如果觉得还不错,请不要忘记点赞✌,收藏✌,加关注✌哦 ❤️ ❤️ ❤️

Web前端,CSS中的浮动、清除浮动相关推荐

  1. web前端css之盒子模型,浮动,定位

    1.ul去除自带的样式 <head><meta charset="UTF-8"><title>Title</title><st ...

  2. php里清除浮动代码,CSS中使用clearfix清除浮动的方法

    首先在很多很多年以前我们常用的清除浮动是这样的. CSS Code复制内容到剪贴板 .clear{clear:both;line-height:0;} 现在可能还可以在很多老的站点上可以看到这样的代码 ...

  3. 关于css中clear:both清除浮动防止父级元素高度坍塌的原理

    不少小伙伴在防止高度坍塌时都会在浮动元素后面写入一个div,再在里面写入clear:both属性来清除浮动.那么今天就在此探究一下clear:both的工作原理. 先说一下clear:both的作用 ...

  4. web前端-css中最直观的反馈-伪类及伪元素选择器的使用

  5. Web前端CSS清除浮动的5种方法

    在移动端清除浮动布局,常用的5种方法: 使用清除浮动的类: 使用overflow属性: 使用 flex 布局: 使用grid 布局: 使用 table 布局. 根据实际情况选择适合的方法,需要注意兼容 ...

  6. css清除浮动的几种方法_web前端学习路线分享CSS浮动-清除浮动篇

    web前端学习路线分享CSS浮动-清除浮动篇,为什么要清除浮动 这里所说的清除浮动,并不是不要浮动了,而是清除浮动与浮动之间的影响.那么到底会有什么影响呢? 1.高度塌陷 举个例子我们看一下. 我们在 ...

  7. 触发bfc的html元素,什么是BFC? CSS 使用伪元素清除浮动的方法

    BFC概念: 块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响. 我们先了解一个名词:BFC(block formatting co ...

  8. html消除绝对定位的影响,CSS 绝对定位 ,浮动,清除浮动

    首先: 我们需要知道div元素(块级元素)独占一行 box1 box2 如下图所示,box1和box2独占一行,可见如果每个div都独占一行,我们根本无法进行布局,所以我们就需要绝对定位和浮动来帮助我 ...

  9. css .clearfix,谈谈CSS之关于clearfix清除浮动

    原标题:谈谈CSS之关于clearfix清除浮动 在网上要是你随便一搜"css清除浮动",就会发现很多网站都讲到"盒子清除内部浮动时可以用到.clearfix" ...

  10. web前端css伪元素使用阿里iconfont中Unicode编码

    web前端css伪元素使用阿里iconfont中Unicode编码 在阿里iconfont中创建项目 新建项目 搜索自己想要的图标并添加入库 点击购物车 添加至项目 回到"我的项目" ...

最新文章

  1. ORACLE 调试输出,字符串执行函数
  2. 分布式锁中的王者方案:Redisson
  3. leetcode题解172-阶乘后的零
  4. QQ for Linux 复活,微信 for Linux 还远吗?
  5. XWiki 6.3 M1 发布,Java 的 Wiki 系统
  6. python自学行吗-《》 python自学行吗?
  7. adobe animate2022动画制作软件
  8. android模仿微信浮窗,Android仿微信视屏悬浮窗效果
  9. 【CVPR 2021】 Lifelong Person Re-Identification via Adaptive Knowledge Accumulation
  10. 科技公司的域名大战!
  11. 陳三甲网络笔记:王力宏直播买课600多万,你能否年赚30万
  12. sql注入学习笔记(4)--sqlmap注入心得
  13. kaggle Talking Data 广告欺诈检测竞赛 top 1%方案分享
  14. SOFA Registry的简单安装
  15. Ubuntu 各版本 iso 下载
  16. 假设电话收费标准为: (1)国际长途1.00元/分钟,(2) 国内长途0.60元/分钟,(3)市话前3分钟0.20元,3分钟以后0.10元/分钟。现假设某话单文件中每条话单包含如下信息:通话日期(10
  17. 西方经济学 微观部分 第六版 高鸿业 编 中国人民大学出版社 大学课后习题答案
  18. 手撕前端面试题【javascript~ 列表动态渲染、无重复数组、数组排序、新数组、创建数组、深浅拷贝、内存泄露等】
  19. 500强外企基恩士春招来了应届毕业生18w-22w
  20. jq添加数组_jquery数组循环添加问题

热门文章

  1. Android数据连接浅析
  2. C# Environment.StackTrace、StackFrame、Tirm的使用技巧
  3. 字体转换网站——Font Squirrel(推荐阅读)
  4. Collection 接口
  5. 计算机被浏览器方式打开文件,我把一个文件设置成ie浏览器的打开方式,然后所有的文件都变成了ie浏览器打开方式...
  6. 算法之路,带你轻松学废算法系列之哈希表
  7. 软考高级系统架构设计师:响应式Web设计和主从复制机制的好处
  8. ASP.NET MVC 音乐商店 - 8. 使用 Ajax 更新的购物车
  9. Android ANR问题总结
  10. js人民币转换大写函数