首页 > 其他分享 >24浮动案例练习-布局方案总结

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

时间:2024-12-22 17:20:04浏览次数:5  
标签:24 浮动 布局 练习 height right 元素 margin

一、浮动案例三

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
但是这两种方法本身存在很大的局限性,并且它们用于布局实在是无奈之举。

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

标签:24,浮动,布局,练习,height,right,元素,margin
From: https://www.cnblogs.com/wumouhao/p/18622281

相关文章

  • 20241313 刘鸣宇 《计算机基础与程序设计》第13周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具体方面>作业正文...本博客链接教材学习内容总结《C语言程序设计......
  • 2024-2025-1 20241300《计算机基础与程序设计》第十三周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第十三周作业)这个作业的目标无作业正文...本博客链接教材学习内容总结结构体(Struct)概念结构体......
  • AIGC时代算法工程师的面试秘籍(第二十八式2024.12.2-12.15) |【三年面试五年模拟】
    写在前面【三年面试五年模拟】旨在整理&挖掘AI算法工程师在实习/校招/社招时所需的干货知识点与面试经验,力求让读者在获得心仪offer的同时,增强技术基本面。欢迎大家关注Rocky的公众号:WeThinkIn欢迎大家关注Rocky的知乎:RockyDingAIGC算法工程师面试面经秘籍分享:WeThi......
  • NOIP2024 游记
    NOIP2024游记Day0上午去试机,复习了下如何配置VScode,可惜在纪中还剩400块饭卡钱没时间用。中午我妈让小卖部送了点咖啡、巧克力之类的零食,彬彬获得了新的补给。下午去打排球,估计是信竞最后一次集体运动了。二传跟老是传错位置,不过垫球手感找回来了。晚上教练在,不然就开你......
  • 2024/12/15 模拟赛 普及组(B)
    总体而言还算是比较简单的一场模拟赛(但我是废物,被小孩哥直接拉爆了)。T1坦克Describe众所周知,甜所妹妹很可爱。甜所妹妹有\(n\)辆相同的坦克,你有\(m\)辆相同的坦克,但你们两人的坦克是不同的。甜所妹妹的坦克打爆你的一辆坦克需要\(a\)炮,你的坦克打爆甜所妹妹的一辆坦克......
  • 2024秋季学期 人工智能导论期末复习笔记
    Chapter3知识推理Chapter4不确定推理Chapter5-1机器学习Chapter5-2深度学习Chapter5-3强化学习......
  • 2024-2025-1学号20241309《计算机基础与程序设计》第十三周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第十三周作业这个作业的目标自学教材《C语言程序设计》第12章并完成云班课测试作业正文2024-2025-1学号20241309《计算机基础与程序设计》第......
  • 2024-2025-1 20241319 《计算机基础与程序设计》第十三周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13这个作业的目标《C语言程序设计》第12章作业正文https://www.cnblogs.com/wchxx/p/18622144**教材学习内容总结结......
  • 2024-2025-1 20241318M《计算机基础与程序设计》第十三周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13这个作业的目标<自学教材《C语言程序设计》第12章并完成云班课测试>||作业正文|https://i.cnbl......
  • 2024-2025-1 20241301 《计算机基础与程序设计》第十三周学习总结
    |这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计||这个作业要求在哪里|2024-2025-1计算机基础与程序设计第一周作业||这个作业的目标|<复习知识,巩固基础>||作业正文|https://www.cnblogs.com/HonJo/p/18622132|一、教材学习内容(一)网络根据提供的搜索结果,第十五章《......