当前位置: 首页 > news >正文

HTML5+css3(浮动,浮动的相关属性,float,解决浮动的塌陷问题,clear,overflow,给父亲盒子加高度,伪元素)

浮动的相关属性

以下使浮动的常用属性值:

float:	设置浮动
以下属性:
left : 设置左浮动
right : 设置右浮动
none :不浮动,默认值
clear	清除浮动 清除前面兄弟元素浮动元素的响应	
以下属性:
left :清除前面左浮动的影响
right :清除前面右浮动的影响
both :清除前面左右浮动的影响

元素浮动之后的特点

  • 在上面我们知道了对于浮动的元素,其会脱离标准文档流。

  • 浮动产生的影响:

  1. 脱离文档流。
  2. 不管浮动前是什么元素,浮动后:默认宽与高都是被内容撑开(尽可能小),而且可以设置宽高。
  3. 不会独占一行,可以与其他元素共用一行。
  4. 不会margin 合并,也不会margin 塌陷,能够完美的设置四个方向的margin 和padding 。
  5. 不会像行内块一样被当做文本处理(没有行内块的空白问题)。

6.当元素浮动之后,下面的元素就可以向上提升位置,占有浮动元素的位置。

解决浮动产生的影响

  • 浮动产生的一些困扰:
  1. 对兄弟元素的影响: 后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟无影响。
  2. 对父元素的影响: 不能撑起父元素的高度,导致父元素高度塌陷;但父元素的宽度依然束缚浮动的元素。
  • 其实最主要要解决的影响是(父元素高度塌陷),以下是解决方案:
  1. 方案一: 给父元素指定高度。
  2. 方案二: 给父元素设置浮动,带来其他影响。
  3. 方案三: 给父元素设置 overflow:hidden 。
  4. 方案四: 在所有浮动元素的最后面,添加一个块级元素,并给该块级元素设置clear:both
  • 额外标签:谁需要清除浮动就在该元素后面添加一个空白标签,属性设置为:clear:both
  1. 方案五: 给浮动元素的父元素,设置伪元素,通过伪元素清除浮动 (推荐使用)

  2. 伪元素 对于其父元素,我们可以给其加上一个类,并对该类进行如下设置:

.clearfix::after {/* 设置添加子元素的内容是空 */content: '';/* 设置添加子元素为块级元素 */display: block;/* 设置添加的子元素的高度0 */height: 0;/* 设置添加子元素看不见 */visibility: hidden;/* 设置clear:both */clear: both;
}

作业

  • 盒子模型
<!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: 0px auto;padding:0px;/* 自动减去边距宽度 */box-sizing: border-box;}/* 整体 */#all{width: 970px;height: 586px;/* 整体背景颜色,看效果 *//* background-color: palegoldenrod; */}/* 顶部 */#top{width: 970px;height: 103px;/* 在最开始设置整体布局可以写一下 *//* background-color: pink; */}/* 红色的盒子 */.left1{float: left;width: 277px;height: 103px;background-color: red;}/* 右边 */.right1{float: right;width: 679px;height: 103px;}/* 语言选择 */.chinese{float: right;width: 137px;height: 49px;background-color: green;margin-bottom: 8px;}/* 导航条 */.banner{overflow: hidden;width: 679px;height: 46px;background-color: green;}/* 中部 */#middle{width: 970px;height: 435px;/* background-color:pink ; */margin-top:8px ;}/* 黄色部分 大广告 */.left2{float: left;width: 310px;height: 435px;background-color: yellow;margin-right: 10px;}/* 中部的中部部分 蓝色部分 */.center{float: left;width: 450px;height: 435px;}.one{width: 450px;height: 240px;background-color: skyblue;}.two{width: 450px;height: 110px;background-color: skyblue;margin-top: 10px;}.three{width: 450px;height: 30px;background-color: skyblue;margin-top: 10px;}.right2{overflow: hidden;width: 190px;height: 400px;background-color: purple;}/* 深蓝色 */.blue{float: left;width: 648px;height: 25px;background-color: blue;margin-top: 10px;}/* 底部 */#bottom{width: 970px;height: 40px;background-color: darkorange;margin-top: 10px;}</style>
</head>
<body><!-- 整体盒子模型 --><div id="all"><!-- 顶部 --><div id="top"><!-- 红色的盒子 --><div class="left1"></div><!-- 右部分 --><div class="right1"><div class="chinese"></div><div class="banner"></div></div></div><!-- 中部 --><div id="middle"><!-- 黄色部分 --><div class="left2"></div><!-- 浅蓝色部分 --><div class="center"><div class="one"></div><div class="two"></div><div class="three"></div><!-- 深蓝色 --><div class="blue"></div></div><!-- 紫色 --><div class="right2"></div></div><!-- 底部 --><div id="bottom"></div></div>
</body>
</html>
  • 公告
<!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: 0px;padding:0px;}#all{width: 500px;height: 400px;}.top{width: 480px;/* height: 100px; */margin: 10px;margin-bottom: 0px;border-top: 1px dashed;} .bgc{width: 480px;height: 20px;background-color: rgb(227, 235, 241);}p{display: inline-block;border-left:3px solid blue ;padding-left: 16px;margin-left: 5px;font-size: 24px;/* margin-top: 20px; */color: blue;font-weight:bolder;}.top a{float: right;margin-top: 10px;color:blue ;}a{text-decoration: none;}.one{width: 480px;height: 2px;background-image: linear-gradient(to right , rgb(61, 47, 187),red);margin-top: 5px;}.bottom{width: 500px;}.bottom li{border-bottom: 1px dashed rgb(210, 207, 207);background: url(..//imgs/triangle1.png) no-repeat 4px;background-size: 12px 12px;padding: 5px;padding-left: 24px;margin: 10px;}span{float: right;}</style>
</head>
<body><!-- 整体 --><div id="all"><!-- 通知公告 --><div class="top"><div class="bgc"></div><p>通知公告</p> <a href="#">更多》</a><div class="one"></div></div><!-- 内容 --><div class="bottom"><ul><li><a href="#">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</a><span>2014年9月28号</span></li><li><a href="#">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</a><span>2014年9月28号</span></li><li><a href="#">哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</a><span>2014年9月28号</span></li></ul></div></div>
</body>
</html>

http://www.mrgr.cn/news/69480.html

相关文章:

  • C语言的内存函数
  • 云原生学习
  • 连接实验室服务器并创建虚拟环境,从本地上传文件到linux服务器,使用requirement.txt安装环境需要的依赖的方法及下载缓慢的解决方法(Linux)
  • 线性代数(第四章:方程组)
  • RabbitMq项目实战--延迟队列实现超时订单处理
  • pgsql和mysql的自增主键差异
  • 2024系统分析师---统一过程(淘宝押题)
  • 【Ubuntu24.04】部署服务(基础)
  • 使用VSCode远程连接服务器并解决Neo4j无法登陆问题
  • windows C#-使用异常
  • k8s中基于overlay网络和underlay网络的网络插件分别有哪些
  • Jenkins配置步骤
  • md5等摘要算法的「撞库」与「加盐」(Ⅰ)
  • npm i 的时候报错: npm ERR! Error: EPERM: operation not permitted, rename
  • vue3使用element-plus,树组件el-tree增加引导线
  • 【debug】QT 相关问题error汇总 QT5升级到QT6需要注意要点
  • Diffusion Policy——斯坦福刷盘机器人UMI所用的扩散策略(含Diff-Control、ControlNet详解)
  • C#语言详解:从基础到进阶
  • 代码随想录训练营Day20 | 93.复原IP地址 - 78.子集 - 90.子集II
  • 移动应用开发:实现简易调查问卷
  • 第二十九天|贪心算法| 134. 加油站, 135. 分发糖果 ,860.柠檬水找零,406.根据身高重建队列
  • 基于STM32的红外遥控接收器
  • PostgreSQL 删除数据库
  • 每天五分钟深度学习PyTorch:基于全连接神经网络完成手写字体识别
  • HarmonyOS入门 : 获取网络数据,并渲染到界面上
  • Android中桌面小部件的开发流程及常见问题和解决方案