前端 | (七)浮动 | 尚硅谷前端html+css零基础教程2023最新

学习来源:尚硅谷前端html+css零基础教程,2023最新前端开发html5+css3视频

文章目录

  • 📚浮动介绍
    • 🐇元素浮动后的特点
    • 🐇浮动小练习
      • 🔥盒子1右浮动
      • 🔥盒子1左浮动
      • 🔥所有盒子都浮动
      • 🔥所有盒子浮动后,盒子3落下来
      • 🔥所有盒子浮动后,盒子3卡住了
  • 📚解决浮动产生的影响
    • 🐇浮动后的影响
    • 🐇解决浮动产生的影响
      • 🔥方案四示例及细节补充
      • 🔥方案四小结
      • 🔥方案五(本质就是方案四但更优雅)示例
  • 📚浮动布局小练习⭐️⭐️⭐️

⭐️前文回顾:前端 | (六)CSS盒子模型 | 尚硅谷前端html+css零基础教程2023最新
⭐️前文对应p113-p132,本文对应p133-p138
⭐️补充网站:W3school,MDN

📚浮动介绍

这里是引用

🐇元素浮动后的特点

  • 脱离文档流
  • 不管浮动前是什么元素,浮动后:默认宽高都是被内容撑开(尽可能小),而且可以设置宽高。
  • 不会独占一行,可以与其他元素共用一行。
  • 不会margin合并,也不会margin塌陷,能够完美设置四个方向的margin和padding。

  • 不加浮动的初始效果

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head><meta charset="UTF-8"><title>元素浮动后的特点</title><style>.outer{width: 800px;height: 400px;padding: 10px;background-color: gray;}.box{font-size: 20px;padding: 10px;}.box1{background-color: skyblue;}.box2{background-color: orange;}.box3{background-color: green;}</style>
    </head>
    <body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div></div>
    </body> 
    </html>
    

    在这里插入图片描述

  • 给盒子2加浮动

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head><meta charset="UTF-8"><title>元素浮动后的特点</title><style>.outer{width: 800px;height: 400px;padding: 10px;background-color: gray;}.box{font-size: 20px;padding: 10px;}.box1{background-color: skyblue;}.box2{background-color: orange;float: left;}.box3{background-color: green;}</style>
    </head>
    <body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div></div>
    </body> 
    </html>
    

    在这里插入图片描述

    这里是引用

🐇浮动小练习

🔥盒子1右浮动

盒子1单独浮动在右边

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>浮动的小练习</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 100px;height: 100px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;}.box1{float: right;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div></div>
</body> 
</html>

在这里插入图片描述

在这里插入图片描述

🔥盒子1左浮动

盒子1左浮动,盒子2跑到盒子1的背后,然后“盒子2”那三个文字落下来(文字环绕)和盒子3摞到一块去了

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>浮动的小练习</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 100px;height: 100px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;}.box1{float: left;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div></div>
</body> 
</html>

在这里插入图片描述

在这里插入图片描述

🔥所有盒子都浮动

盒子1、2、3都浮动,此时父亲没东西撑开所以就只剩下边框了

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>浮动的小练习</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 100px;height: 100px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;float: left;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div></div>
</body> 
</html>

在这里插入图片描述

在这里插入图片描述

🔥所有盒子浮动后,盒子3落下来

还是三个盒子都飘起来,但是父亲的宽度不够了

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>浮动的小练习</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 200px;height: 200px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;float: left;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div></div>
</body> 
</html>

在这里插入图片描述

这里是引用

🔥所有盒子浮动后,盒子3卡住了

还是三个盒子都飘起来,且父亲的宽度不太够,除此之外,盒子1把盒子3卡住了

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>浮动的小练习</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 200px;height: 200px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;float: left;}.box1{height: 230px;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div></div>
</body> 
</html>

在这里插入图片描述

这里是引用

📚解决浮动产生的影响

🐇浮动后的影响

  • 对兄弟元素的影响:后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟无影响。
    在这里插入图片描述
  • 对父元素的影响:不能撑起父元素的高度,导致父元素高度塌陷;但父元素的宽度依然束缚浮动的元素。
    在这里插入图片描述

🐇解决浮动产生的影响

在这里插入图片描述

前三种方式都能解决父元素塌陷问题,但针对兄弟元素的影响不能很好解决。

🔥方案四示例及细节补充

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>解决浮动产生的影响</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 100px;height: 100px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;}.box1,.box2,.box3{float: left;}.box4{clear:both;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div><div class="box box4">盒子4</div></div><div style="background-color: orange;">lalalalaxixixi</div>
</body> 
</html>

在这里插入图片描述


神奇的事情:这时候给盒子4也加浮动,本来一行能排开,但4会跑下一行去

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>解决浮动产生的影响</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 100px;height: 100px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;}.box1,.box2,.box3,.box4{float: left;}.box4{clear:both;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div><div class="box box4">盒子4</div></div><div style="background-color: orange;">lalalalaxixixi</div>
</body> 
</html>

在这里插入图片描述⚠️也就是说,加clear:both的前提是本身得是个好人⚠️
⚠️补充:加clear:both的必须是块元素⚠️
在这里插入图片描述
在这里插入图片描述


🔥方案四小结

方案四的简洁高效解决方案就是加一个纯纯空div,它的作用就是来说一句话clear:both

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>解决浮动产生的影响</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 100px;height: 100px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;}.box1,.box2,.box3,.box4{float: left;}.mofa{clear:both;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div><div class="box box4">盒子4</div><div class="mofa"></div></div><div style="background-color: orange;">lalalalaxixixi</div>
</body> 
</html>

在这里插入图片描述

🔥方案五(本质就是方案四但更优雅)示例

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>解决浮动产生的影响</title><style>.outer{width: 500px;background-color: gray;border: 1px solid black;}.box{width: 100px;height: 100px;background-color: skyblue;border: 1px solid black;/* margin合并,父亲有border所以无塌陷 */margin: 10px;}.box1,.box2,.box3,.box4{float: left;}/* 用伪元素选择器来解决 */.outer::after{content: '';/* 默认是inline */display: block;clear: both;}</style>
</head>
<body><div class="outer"><div class="box box1">盒子1</div><div class="box box2">盒子2</div><div class="box box3">盒子3</div><div class="box box4">盒子4</div></div><div style="background-color: orange;">lalalalaxixixi</div>
</body> 
</html>

在这里插入图片描述
⚠️clear:both之前的所有元素不能出现好孩子,要浮动就全部都浮动!⚠️
⚠️也即在一个父元素里的子元素要么都浮动,要么都别浮动!!⚠️

📚浮动布局小练习⭐️⭐️⭐️

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

具体标注:
在这里插入图片描述

补充技巧
在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>浮动布局练习</title><style>/* 首先清楚默认样式 */*{margin: 0;padding: 0;}/* 之后左浮动只需要加上class,不需要再选中选择器 */.leftfix{float:left}/* 右浮动同理 */.rightfix{float:right}/* 清除浮动同理 */.clearfix::after{content: '';display: block;clear: both;}.container{width: 960px;/* 可以临时设置高度和背景颜色,便于观察 *//* height: 200px;background-color: gray; *//* 让版心居中 */margin: 0 auto;/* 让文字水平居中,放container里,之后的还能继承 */text-align: center;}.logo{width: 200px;}.banner1{width: 540px;margin: 0 10px;}.banner2{width: 200px;}.logo,.banner1,.banner2{height: 80px;background-color: pink;/* 垂直居中 */line-height: 80px;}.menu{height: 30px;background-color: skyblue;margin-top: 10px;line-height: 30px;}.content{margin-top: 10px;}.item1,.item2{width: 368px;height: 198px;line-height: 198px;border: 1px solid black;margin-right: 10px;}.bottom{margin-top: 10px;}.item3,.item4,.item5,.item6{width: 178px;height: 198px;line-height: 198px;border: 1px solid black;margin-right: 10px;}.item7,.item8,.item9{width: 198px;height: 128px;line-height: 128px;border: 1px solid black;}.item8{margin: 10px 0;}.footer{height: 60px;line-height: 60px;background-color: moccasin;margin-top: 10px;}</style>
</head>
<body><div class="container"><!-- 头部 --><div class="page-header clearfix"><div class="logo leftfix">logo</div><div class="banner1 leftfix">banner1</div><div class="banner2 leftfix">banner2</div></div><!-- 菜单 --><div class="menu">菜单</div><!-- 内容区 --><div class="content clearfix"><!-- 左侧 --><div class="left leftfix"><!-- 上 --><div class="top clearfix"><div class="item1 leftfix">栏目一</div><div class="item2 leftfix">栏目二</div></div><!-- 下 --><div class="bottom clearfix"><div class="item3 leftfix">栏目三</div><div class="item4 leftfix">栏目四</div><div class="item5 leftfix">栏目五</div><div class="item6 leftfix">栏目六</div></div></div><!-- 右侧 --><div class="right rightfix"><div class="item7">栏目七</div><div class="item8">栏目八</div><div class="item9">栏目九</div></div></div><!-- 页脚 --><div class="footer">页脚</div></div>
</body>
</html>

在这里插入图片描述

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

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

相关文章

Python 闭包 装饰器

闭包定义&#xff1a;在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包. 下面实现一个在执行方法的前后打印日志的场景 第一种方法装饰器 1.定义外层函数(要求…

vscode 添加 ros头文件

解决 vscode不能支持ROS相关头文件和没有智能提示问题 vscode 编写pakage源文件代码,#include<ros/ros.h>等头文件时报错,无法运行智能提示 1.vscode中CTRL+P 2.键入ext install ms-iot.vscode-ros 按回车,等待下载ros插件 3.修改c_cpp_properties.json文件 鼠标…

数学建模 插值算法

有问题 牛顿差值也有问题它们都有龙格现象&#xff0c;一般用分段插值。 插值预测要比灰色关联预测更加准确&#xff0c;灰色预测只有2次 拟合样本点要非常多&#xff0c;样本点少差值合适

Spring底层

配置文件 配置优先级 之前讲解过&#xff0c;可以用这三种方式进行配置 那如果这三种都进行了配置&#xff0c;那到底哪一份生效呢&#xff1f; 结论 优先级从大到小 properties>yml>yaml然后就是现在一般都用yml文件进行配置 其他配置方式 除了配置文件外 还有不同…

java Spring中使用到的设计模式

单例模式 单例模式(Singleton Pattern)是java中最简单的设计模式之一。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有单个对象被创建。这个类提供了一…

电压放大器在超声波焊接中的作用以及应用

电压放大器是一种运用于电子设备中的信号放大器&#xff0c;主要作用是将小信号放大为更高幅度的信号。在超声波焊接中&#xff0c;电压放大器起到了重要的作用&#xff0c;它可以将从传感器采集到的微小信号放大为能够被检测和处理的合适大小的信号。 超声波焊接是现代工业生产…

微信怎么自动加好友,通过好友后自动打招呼

很多客户朋友每天花大量的时间用手机搜索添加好友&#xff0c;这样的添加很集中也容易频繁&#xff0c;而且效率还低。对方通过后&#xff0c;有时也不能及时和客户搭建链接&#xff0c;导致客户也流失了。 现在可以实现自动添加和自动打招呼哦&#xff0c;只需要导入数据、设置…

【从零开始学CSS | 第二篇】伪类选择器

目录 前言&#xff1a; 伪类选择器&#xff1a; 常见的伪类选择器&#xff1a; 举例&#xff1a; 小窍门&#xff1a; 总结: 前言&#xff1a; 上一篇文章我们详细的为大家介绍了一些常见的选择器&#xff0c;这几篇我们将再次介绍CSS中的一个常见选择器——伪类选择器&am…

设计模式之适配器模式

写在前面 适配器设计模式属于结构型设计模式的一种&#xff0c;本文一起来看下。 1&#xff1a;介绍 1.1&#xff1a;什么时候适配器设计模式 当现有接口客户端无法直接调用时&#xff0c;我们可以考虑适配器设计模式&#xff0c;来定义一个能够供客户端直接调用的接口&…

软件测试的分类

代码分类&#xff1a; 1、黑盒测试 2、白盒测试 3、灰黑测试 黑盒测试&#xff1a; 把测试的对象看成是一个黑色的盒子的&#xff0c;看不到里面内部的结构&#xff0c;是对软件的一种功能性的测试。 白盒测试&#xff1a; 就是把测试的对象看成是一个透明的盒子&#x…

测试老鸟总结,性能测试-最佳并发和最大并发,性能测试实施...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能测试&#xf…

curl操作

下载路径&#xff1a;https://curl.se/windows/ 参考&#xff1a;https://blog.csdn.net/weixin_45191386/article/details/130652821 操作&#xff1a; curl http://localhost:8085/api/v1/aaa/bbbb/?ccc 652781344055627776

Maven下载依赖的顺序及配置文件说明

在 Maven 中&#xff0c;当下载依赖项时&#xff0c;存在多个仓库时会按照以下优先级顺序进行搜索&#xff1a; 本地仓库&#xff1a;Maven 会首先在本地的 Maven 仓库中查找依赖项。 私有仓库&#xff08;私服&#xff09;&#xff1a;如果在本地仓库中未找到依赖项&#xf…

编程导航算法村第二关 | 白银挑战

编程导航算法村第二关 | 白银挑战 指定区间的链表翻转 LeetCode92 &#xff1a;给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回反转后的链表。 public ListNode revers…

第四次CCF计算机软件能力认证

第一题&#xff1a;图像旋转 旋转是图像处理的基本操作&#xff0c;在这个问题中&#xff0c;你需要将一个图像逆时针旋转 90 度。 计算机中的图像表示可以用一个矩阵来表示&#xff0c;为了旋转一个图像&#xff0c;只需要将对应的矩阵旋转即可。 输入格式 输入的第一行包含两…

我国版式文档格式OFD前端WEB展示之EasyOFD

EasyOFD an ofd file web shower 一个在web端展示ofd文件的控件&#xff0c;该控件基于CANVAS绘制。 该控件使用了以下外部程序 1&#xff09;jszip&#xff1a;解决解压文件。 2&#xff09;x2js: 解决XML文件到JS转换 3&#xff09;easyjbig2: 解决ofd内部使用jb2文件存储的…

NSSCTF刷web(2)

[NISACTF 2022]bingdundun~ bingdundun处感觉像文件包含,改upload为index 发现确实,猜测会补一个后缀.php 那常规文件包含都不行了,这里还有一个文件上传的功能,考虑phar协议 <?php$phar new Phar("test.phar"); $phar->startBuffering(); $phar->setStu…

小马识途分享百度百科收录词条的规则

百度百科词条是人人都可以编辑的&#xff0c;并且都是免费创建&#xff0c;但是自己创建百科词条往往审核不通过&#xff0c;一般企业会把这项任务委托给有经验的营销团队。这里小马识途营销顾问分享一下百度百科收录词条的规则。 百度百科收录规则主要分为&#xff1a;规范词条…

【excel细碎小知识点】

目录索引 &符号的用法&#xff1a;实例演示&#xff1a; 数字显示和位数的区别&#xff1a;分列功能的妙用&#xff1a;什么叫做常规类型&#xff1a; &符号的用法&#xff1a; **连接字符串:**转化后都是文本字符串类型。你可以通过修改数据类型进行更多可能的操作 实…

【Go语言开发】简单了解一下搜索引擎并用go写一个demo

写在前面 这篇文章我们一起来了解一下搜索引擎的原理&#xff0c;以及用go写一个小demo来体验一下搜索引擎。 简介 搜索引擎一般简化为三个步骤 爬虫&#xff1a;爬取数据源&#xff0c;用做搜索数据支持。索引&#xff1a;根据爬虫爬取到的数据进行索引的建立。排序&#xf…