html之flex伸缩盒子;grid布局

发布时间:2026/7/22 15:39:19

html之flex伸缩盒子;grid布局
flex伸缩盒子利用flex伸缩盒子可以把父级下的div的换行去掉,排列在一行中demo来自微信小程序先将父级div定义成伸缩盒子,然后子级每份占据1份父类空间flex简述flex中三个属性在后端看来这是flex构造方法的3个入参flex:flex-growflex-shrinkflex-basis分别代表的意思属性作用默认值flex-grow有剩余空间时是否放大0flex-shrink空间不足时是否缩小1flex-basis初始尺寸auto常用快速值写法实际等价growshrinkbasis典型用途flex: initial0 1 auto01auto默认值不主动放大可以缩小初始宽度按 width 或内容决定flex: auto1 1 auto11auto内容优先再伸缩;即有空间就长大不够就缩小初始宽度按内容或 widthflex: none0 0 auto00auto完全固定大小flex: 00 1 0%010%很少单独使用;特殊简写只有一个数字那么它表示 growbasis 自动变成 0%。这里的basis0%是将在参与flex计算时的初始尺寸当成0并不是css中的width概念flex: 11 1 0%110%最常用平均分配剩余空间flex: 22 1 0%210%按比例分配剩余空间flex: 0 0 200px0 0 200px00200px固定宽度卡片、侧边栏等flex-grow代表的是是否瓜分剩余空间为0代表浏览器不会把剩余空间分配出去即按照内容本身长度分配;为1时代表把剩下内容的长度再分配出去;ps:平均分的是剩余空间不是整个容器flex-shrink空间不足时是否缩小这个很好理解就是内容加起来的长度超过了容器长度之后会按比例压缩每个元素让内容可以塞进去如果不压缩那么就会出现滚动条这个压缩其实分摊多出来的那一部分;比如多出来100px;按比例分摊这100px在原先元素的width上减去ps:当shrink相同时,减法结果和按比例乘积结果相同 以下面的demo为例 A压缩结果 200 - (200/1200)*120180 B压缩结果 200 - (400/1200)*120160 C压缩结果 200 - (600/1200)*120140 但当shrink相同时比如都为1那么其实压缩结果就是按当前元素的width*(当前元素的width的占比),正好和这个比例一致了 总权重 200*1 200*1 200*1600 A压缩结果 200 - (200/600)*120200*(1-(120/600)) B压缩结果 200 - (200/600)*120200*(1-(120/600)) C压缩结果 200 - (200/600)*120200*(1-(120/600))flex-basis初始尺寸这个很好理解就是给了一个初始值;但这里的初始值是指在参与flex计算的尺寸和css中的width不是一个概念;比如 flex:0 flex:0 1 0%;代表在flex容器计算尺寸时先当成0然后让浏览器分配尺寸;grid布局flex只是一维的grid则是二维的大白话说flex是一个动态行grid则是一个有列和行的表格;我理解在外层容器开启grid并且定义好列后内部的元素会自动按照指定列的数量自动排列存放;这里先简单描述下几个参数frFraction它类似于Flex 的 grow用于控制列的宽度比例。grid-template-columns: 1fr 1fr 1fr;gap: 控制列之间的距离;类似margin;row-gap:20px; column-gap:40px;定义3列并且每列等分容器宽度divclasscontainerdivA/divdivB/divdivC/div/div.container{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; } .containerdiv{ background:#87ceeb; height:80px; }demo2固定宽度动态分配.container{ display:grid; grid-template-columns: 240px 1fr; }divclasscontainerdiv菜单/divdiv内容/div/divgrid repeat()用法repeat就是字面重复意思比如下面2个demo.container{ display:grid; grid-template-columns: repeat(3,1fr);!--这个就是单元格之间的距离(不是内容,是单元格边框之间)--gap:20px; } .container{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap:20px; }跨列/跨行(合并单元格).order{!--这两个写法都可以上下合并单元格;但实际这个更符合语意--grid-row: span 3;!--这个写法是从左边起始单元格的第一根边框线开始到第4根边框钱线中间合并--grid-row:1 / 4;!--从当前位置开始左右2个单元格合并--grid-column:span 2; }跨行合并demo中就是订单号所在的3行合并单元格;

相关新闻

MacBook Air M5运行Steam 3A游戏实测:硬件潜力与优化指南

MacBook Air M5运行Steam 3A游戏实测:硬件潜力与优化指南

2026/7/22 15:29:19

MacBook Air M5 能否流畅运行 Steam 平台上的 3A 大作?这是很多苹果笔记本用户关心的问题。虽然 M5 芯片的 MacBook Air 在轻薄便携和日常办公方面表现出色,但面对大型游戏的需求,很多人持怀疑态度。实际上,通过合理的设置和工具选…

盈启鲲鹏数字人直播省钱方案

盈启鲲鹏数字人直播省钱方案

2026/7/22 15:29:19

在实体店生意越来越依赖线上流量的今天,开直播几乎是所有老板的“必修课”。可老板们普遍喊难——请个主播一个月少说七八千,还得配个运营,加上投流费,每月两万打底。效果呢?很多时候水花都看不到。今天我们就来实打实…

AI搜索框架选型正在失效:当传统Benchmark遇上动态query分布,这5个实时指标才是生死线

AI搜索框架选型正在失效:当传统Benchmark遇上动态query分布,这5个实时指标才是生死线

2026/7/22 15:29:19

更多请点击: https://codechina.net 第一章:AI搜索框架选型正在失效:当传统Benchmark遇上动态query分布,这5个实时指标才是生死线 传统搜索框架选型长期依赖离线 Benchmark(如 MS MARCO、TREC DL)&#xf…

500通来电,为什么10名客服最后人均只接22通?答案藏在电话漏斗里

500通来电,为什么10名客服最后人均只接22通?答案藏在电话漏斗里

2026/7/22 19:09:29

在联络中心的外包合作中,甲方常常会提出一个看似非常基础的要求:“我给你们安排了10个客服,要求每人每天接听40个电话,一天总共接400个,这不过分吧?”然而,当月底查看报表时,甲方却发…

Revo框架入门:构建事件驱动的C应用程序完整指南

Revo框架入门:构建事件驱动的C应用程序完整指南

2026/7/22 19:09:29

Revo框架入门:构建事件驱动的C#应用程序完整指南 【免费下载链接】Revo Event Sourcing, CQRS and DDD framework for C#/.NET Core. 项目地址: https://gitcode.com/gh_mirrors/revo/Revo Revo是一个基于事件溯源(Event Sourcing)、C…

嵌入式System MMU实战:TLB管理、寄存器配置与故障排查详解

嵌入式System MMU实战:TLB管理、寄存器配置与故障排查详解

2026/7/22 19:09:29

1. 项目概述:从硬件视角理解System MMU在嵌入式系统开发,尤其是涉及复杂操作系统(如Linux、RTOS)或高性能实时处理的场景里,内存管理单元(MMU)是绕不开的核心硬件。很多开发者对MMU的理解停留在…

深入解析TI DM816x硬件邮箱:嵌入式多核通信的中断与轮询实战

深入解析TI DM816x硬件邮箱:嵌入式多核通信的中断与轮询实战

2026/7/22 19:09:29

1. 项目概述:从硬件邮箱看嵌入式多核通信的底层逻辑在嵌入式多核系统的开发中,如何让不同的处理器核心(比如ARM Cortex-A8和DSP)或者不同的软件任务之间高效、可靠地“对话”,是一个绕不开的核心问题。这就像在一个办公…

深入解析SoC互连与时钟电源管理:从L3/L4总线到PRCM模块的实战指南

深入解析SoC互连与时钟电源管理:从L3/L4总线到PRCM模块的实战指南

2026/7/22 19:09:29

1. 项目概述:为什么SoC互连与时钟电源管理是芯片设计的“任督二脉”如果你拆开一部手机或者一台智能电视的主板,最核心的那个小方块就是SoC(片上系统)。它集成了CPU、GPU、内存控制器、视频编解码器、USB、网络等数十甚至上百个功…

从Prompt工程师到课程架构师:AI时代教程内容创作者不可错过的5重能力跃迁

从Prompt工程师到课程架构师:AI时代教程内容创作者不可错过的5重能力跃迁

2026/7/22 18:59:29

更多请点击: https://intelliparadigm.com 第一章:从Prompt工程师到课程架构师:AI时代教程内容创作者不可错过的5重能力跃迁 当提示词(Prompt)不再只是与大模型对话的“开关”,而成为教学逻辑的载体、知识…

微服务进阶:服务网格与Istio

微服务进阶:服务网格与Istio

2026/7/21 5:45:57

541|微服务进阶:服务网格与Istio 上篇文章我们聊了微服务的基本概念和拆分方法。 但微服务多了,问题也多了: 服务之间怎么通信? 怎么监控每个服务的调用链路? 熔断、限流、重试怎么做? 安全认证怎么统一? 以前这些都靠SDK库(比如Hystrix、Feign),每个服务都要集成…

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

2026/7/21 9:56:14

一、零售门店全域协同业务背景与行业痛点 1.1 门店超级终端设备矩阵(连锁便利店/商超标准配置) 自助收银Kiosk一体机:顾客结算、自助核销优惠券、商品素材预览;运营折叠平板:店长后台商品上新、图片录入、活动配置、…

噗叽短视频界面分析

噗叽短视频界面分析

2026/7/21 3:09:32

1 和小红书类似,可以采用类似判断方法------------其实他比小红书好判断,因为他没有图片,控件位置几乎是固定的,都不用判断------------2 因为他没有点赞按钮------------而且几乎所有控件位置都是完全一样的,所以我就…

设计EDA 首席专家 12 维度 JD(HR 仅高管 / HRD 使用)

设计EDA 首席专家 12 维度 JD(HR 仅高管 / HRD 使用)

2026/7/22 0:08:09

定位:公司 EDA 技术最高负责人、技术天花板、战略级专家、流片总兜底人 属于P9/Fellow/ 首席科学家级,不做日常执行,管方向、管架构、管风险、管突破。1. 对标层级内部职级:P9 / 首席专家 / Fellow 外部对标:华为 20–…

费用率无法实时监控怎么办?费用率联动预算管理怎么实现?

费用率无法实时监控怎么办?费用率联动预算管理怎么实现?

2026/7/22 0:08:09

很多企业费用管控存在严重滞后性:日常差旅、招待、营销、人力费用持续发生,但费用率只能等到月末结账、营收数据出来后才能计算核对,月度中途费用超标、营收不达标导致的费用率失衡完全无法感知。等到月末发现整体费用率远超预算目标时&#…

设计EDA 研发总监 12 维度 JD(HR 内部仅高管层使用)

设计EDA 研发总监 12 维度 JD(HR 内部仅高管层使用)

2026/7/22 0:08:09

定位:公司 EDA / 设计平台最高管理岗,技术 管理 经营三重决策,对整体流片、效率、质量、成本、团队负最终责任1. 对标层级内部职级:M3 / P8 / 总监级 外部对标:华为 20 级、互联网 M2 / 总监、头部芯片 / EDA 公司研…