24浮动案例练习-布局方案总结

news/2024/12/22 17:22:29/文章来源:https://www.cnblogs.com/wumouhao/p/18622281

一、浮动案例三

float的兼容性是大于flex布局的,然后flex大于grid布局
一般的公司都不实用浮动了,大公司一般会使用浮动

<!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>.content {width:1190px;margin:0 auto;background-color:#f00;height:1000px;}.wrapper {margin-right: -10px;}/* 所有item */.item {width:290px;background-color:purple;margin-bottom: 10px;float:left;/* 最后一列加上之后因为宽度不够会跑下来 */margin-right:10px;}.item.left {height:370px;}.item.right {height:180px;}</style>
</head>
<body><!-- 京东多列布局 --><div class="content"><div class="wrapper"><!-- 左边两个,右边四个 --><div class="item left"></div><div class="item left"></div><div class="item right"></div><div class="item right"></div><div class="item right"></div><div class="item right"></div></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>.content {width:1100px;margin: 0 auto;height:800px;background-color:orange;}.box {border:1px solid #000;/* box中全部都是浮动的,没有人撑起来 需要设置高度*/height:168px;margin-right:-2px;border-right: none;}.item {width:220px;height:168px;float:left;border-right:1px solid #000;box-sizing:border-box;}</style>
</head>
<body><!-- 先来一个固定宽度的东西,然后将他居中显示 --><div class="content"><div class="box"><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div></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>.content {width:1100px;margin: 0 auto;height:800px;background-color:#ccc;}.box {/* margin-left:1px; */}.item {width:221px;height:168px;background-color:orange;color:#fff;float:left;border:1px solid #000;margin-right:-1px;box-sizing:border-box;}.item.first {width:220px;}</style>
</head>
<body><!-- 先来一个固定宽度的东西,然后将他居中显示 --><div class="content"><div class="box"><div class="item first">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div></div></div>
</body>
</html>

总结:
边框给谁加
加上边框之后,宽度如何计算
有边框的布局有一些复杂,并且也不好看

三、浮动的问题-高度塌陷

网页中间的装内容的盒子随着内容的增加,而增加
但是因为里面的元素是浮动元素所以不能简单的去除高度由内容添加

红色盒子没有高度而出现塌陷的现象

由于浮动元素脱离了标准流,变成了脱标准流的元素,所以不再向父元素汇报高度
父元素计算总高度的时候,就不会计算浮动子元素的高度了,导致了高度塌陷问题。
解决父元素高度塌陷的问题的过程,一般叫做清浮动(清理浮动,清除浮动)
清浮动的目的是:
让父元素计算总高度的时候,把浮动子元素的高度算进去。
如何清除浮动需要使用clear
如果没有clear也会有其他的解决办法,比如直接计算高度,但是这样写死,扩展性差。

clear属性是用来做什么的呢?
clear属性可以指定一个元素是否必须移动(清除浮动之后)到在它之前的浮动元素下面。
clear的常用取值:
left,要求元素的顶部低于之前生成的所有左浮动元素的底部
right,要求元素的顶部低于之前生成的所有右浮动元素的底部
both,要求元素的顶部低于之前生成的所有浮动元素的底部
none,默认值,无特殊要求。

这里在标准流
中设置了一条线,然后将线从红色盒子中从上拉到浮动元素的下方,导致红色盒子被撑开。
但是这种方式是有问题的,会增加很多没有意义的线
当前是通过CSS产生的浮动问题,然后通过增加HTML元素来解决违背了结构与样式分离的原则
最终的解决方案是通过增加一个伪元素
到时候需要清除浮动直接添加一个class即可
但是会存在一个兼容性的问题

为了兼容性能的问题还需要添加其他的东西

四、布局方案的简单总结


虽然目前浮动布局还没有淘汰但是正在退出历史舞台。

五、Flex布局

Flexbox翻译为弹性盒子:
弹性盒子是一种用于按行或者是按列布局元素的一维布局方法;
元素可以膨胀以填充额外的空间,收缩以适应更小的空间;
通常使用Flexbox来进行布局的方案称之为flex布局(flex layout)
flex布局是目前Web开发中使用最多的布局方案;
flex布局(Flexible布局,弹性布局);
目前特别是在移动端可以说已经普及;
在pc端已几乎已经普及和使用,只有非常少数的网站依然在使用浮动来布局;
为什么使用flex布局?
长久以来,CSS布局中唯一可靠且跨浏览器兼容的布局工具只有floats和positioning
但是这两种方法本身存在很大的局限性,并且它们用于布局实在是无奈之举。

原来的布局存在的痛点:
在父内容里面垂直居中一块内容。
比如使容器的所有子项等分可用宽度/高度,而不管有多少宽度/高度可用。
比如使用多列布局中的所有列采用相同的高度,即使它们包含的内容量不同。

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

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

相关文章

《计算机组成及汇编语言原理》阅读笔记:p28-p47

《计算机组成及汇编语言原理》学习第 3 天,p28-p47 总结,总计 20 页。 一、技术总结 1.Virtual Machine 2.stack 3.The fetch-execute Cycle 在控制单元(Control Unit, CU)里面有一个指令寄存器(Instruction Register, IR)和一个程序计数器(Program Counter, PC)。PC保存下次…

20241313 刘鸣宇 《计算机基础与程序设计》第13周学习总结

作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 <写上具体方面>作业正文 ... 本博客链接教材学习内容总结 《C语言程序…

中考阅读理解深入逻辑分析-002 Battle of the Classroom: Bits vs. Books 课堂之战:比特对抗书本

文章正文 The debate on “textbooks vs computers” has been going on for years. How much technology is in the classroom? Should textbooks be placed by notebook computers? The is no doubt that computers are powerful. Computer-based lesson plans are updated…

基于HarmonyOS 5.0 (Next)技术的渐变模糊效果技术实现【代码实战】

基于HarmonyOS 5.0 (Next)技术的渐变模糊效果技术实现【代码实战】 HarmonyOS 5.0(Next)作为华为自主研发的操作系统,以其强大的性能和丰富的开发功能吸引了众多开发者。本文将详细介绍如何在HarmonyOS 5.0(Next)中实现渐变模糊效果,并通过代码实战展示具体操作步骤。Ark…

渗透测试-前后端加密分析之RSA+AES

本文是高级前端加解密与验签实战的第8篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA与AES加密来爆破登录。本文是高级前端加解密与验签实战的第8篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA与AES加密来爆破登…

MCGSPRO密码输入访问页面

MCGSPRO密码输入访问页面

jquery响应式弹出层lightbox插件slick-lightbox.js

slick-lightbox.js是一款基于slick.js和jquery的响应式弹出层lightbox插件。该jquery lightbox插件支持图片懒加载,支持键盘交互,支持HTML5 History API等。功能非常强大。在线预览 下载安装 可以通过bower来安装slick-lightbox.js插件。bower install -S slick-lightbox …

我用cursor, 半就开发了一个手机壁纸小程序,真的太强了

我用cursor, 半就开发了一个手机壁纸小程序,真的太强了。原来一周的工作量,半天搞定。体验可以微信搜索《程序员博博》同名。前言 我用chatGPT帮我写后端爬虫,分析知乎html代码,爬取知乎壁纸。然后用cursor AI工具,完全使我一个不懂前端uniapp框架的人,开发了一个小程序手…

投票:你愿意为了gxyz的图标捐献token吗?

投票:你愿意为了gxyz的图标捐献token吗?(点击选项进行投票): 愿意,请把token发给洛谷上的Leo2126 不愿意,但不愿意加入铁一 不愿意,要去铁一 蒟蒻的每一天

存储引擎整理

// 数据库的结构 // 连接层,服务层,引擎层,存储层 //创建表时,指定存储引擎 // create table name ( // ... // )engine = 存储引擎; // 查看当前数据库支持的存储引擎 // show engines; // ---------------------------------------------------------------------------…

引用 | 如何将正文引用批量设置上标?

本方法适用对象: 请注意,本方法针对下图所示论文引用格式: ①外部:半角中括号 ②内部:数字,数字与半角逗号的组合,数字与连接符号的组合,数字、半角逗号与连接符号的组合主要步骤: 1. 打开高级查找2. 在查找内容中输入\[[0-9,-]{1,}\],并勾选搜索选项中的“使用通配符…

2024秋季学期 人工智能导论期末复习笔记

2024秋季学期(二秋)人工智能导论期末复习笔记Chapter3 知识推理Chapter4 不确定推理Chapter5-1 机器学习Chapter5-2 深度学习Chapter5-3 强化学习