flex属性中的flex-grow、flex-shrink、flex-basis

flex-grow 属性

flex-grow 属性用于设置或检索弹性盒子的扩展比率。

默认值为0,表示不伸展。

flex-grow属性值为0时,不伸展:

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex-grow: 0;">1</div><div class="content">2</div></div></body>
</html>

flex-grow属性值为1时伸展铺满整个容器:

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex-grow: 1;">1</div><div class="content">2</div><div class="content">3</div></div></body>
</html>

flex-grow属性值为2时,该项目的伸展比例是flex-grow属性值为1的项目的两倍:

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex-grow: 1;">1</div><div class="content" style="flex-grow: 2;">2</div><div class="content">3</div></div></body>
</html>

flex-shrink

flex-shrink 属性指定了 flex 元素的收缩规则。flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据 flex-shrink 的值。

默认值为1,代表当项目空间不足时子item等比例收缩,设置为0时则不会收缩,item会超出容器范围。

flex-shrink属性值为0时,超出容器不收缩,其余item平均分配剩余空间:

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex-shrink: 0;">1</div><div class="content">2</div><div class="content">3</div><div class="content">4</div><div class="content">5</div></div></body>
</html>

flex-shrink属性值为2时,该项目的收缩比例是flex-shrink属性值为1的项目的两倍:

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex-shrink: 0;">1</div><div class="content" style="flex-shrink: 1;">2</div><div class="content" style="flex-shrink: 1;">3</div><div class="content" style="flex-shrink: 2;">4</div><div class="content" style="flex-shrink: 2;">5</div></div></body>
</html>

flex-basis 

flex-basis 属性用于设置或检索弹性盒伸缩基准值。

默认值为auto,可设置一个长度单位或者一个百分比。

决定item最终size的因素,从优先级高到低:

        max-width\max-height\min-width\min-height

        flex-basis

        width\height

        内容本身的 size

flex-basis属性值设置:

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex-basis: 50%;">1</div><div class="content" style="flex-basis: 50px;">2</div><div class="content" style="flex-basis: 200px;">3</div></div></body>
</html>

flex

flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。

flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。

CSS语法:

        flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;

auto 与 1 1 auto 相同。(伸展、收缩) :

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: auto;">flex: auto;</div><div class="content"></div></div><div class="d-flex"><div class="content" style="flex: 1 1 auto;">flex: 1 1 auto;</div><div class="content"></div></div></body>
</html>

none 与 0 0 auto 相同。(不伸展、不收缩):

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: none;">flex: none;</div><div class="content"></div></div><div class="d-flex"><div class="content" style="flex: 0 0 auto;">flex: 0 0 auto;</div><div class="content"></div></div></body>
</html>

initial 设置该属性为它的默认值,即为 0 1 auto。(不伸展、收缩):

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: initial;">flex: initial;</div><div class="content"></div><div class="content"></div><div class="content"></div><div class="content"></div></div><div class="d-flex"><div class="content" style="flex: 0 1 auto;">flex: 0 1 auto;</div><div class="content"></div><div class="content"></div><div class="content"></div><div class="content"></div></div></body>
</html>
flex单值语法 

无单位数(flex: <number>): 它会被当作flex:<number> 1 0 的值。flex-shrink的值被假定为1,即可以伸缩。flex-basis的值被假定为0,默认是没有宽度的。

有效的宽度值: 它会被当作 <flex-basis> 的值。

给一个item设置flex: <number>

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: 1;">flex: 1;</div><div class="content"></div><div class="content"></div></div></body>
</html>

给多个item设置flex: <number>

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: 1;">flex: 1;</div><div class="content" style="flex: 2;">flex: 2;</div><div class="content" style="flex: 3;">flex: 3;</div></div></body>
</html>

给item设置有效宽度值(item总长度大于父容器,所以item会等比列收缩):

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: 500px;">flex: 500px;</div><div class="content"></div><div class="content"></div></div></body>
</html>

flex双值语法

第一个值必须为一个无单位数,并且它会被当作 <flex-grow> 的值。

第二个值必须为以下之一:

        一个无单位数:它会被当作 <flex-shrink> 的值。

        一个有效的宽度值: 它会被当作 <flex-basis> 的值。 

flex: <number> <number>

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: 0 0;">flex: 0 0;</div><div class="content" style="flex: 1 0;">flex: 1 0;</div><div class="content" style="flex: 1 1;">flex: 1 1;</div><div class="content"></div></div></body>
</html>

flex: <number> 有效宽度值

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: 0 0;">flex: 0 0;</div><div class="content" style="flex: 0 150px;">flex: 0 150px;</div><div class="content" style="flex: 1 150px;">flex: 1 150px;</div><div class="content"></div></div></body>
</html>

flex三值语法

第一个值必须为一个无单位数,并且它会被当作 <flex-grow> 的值。

第二个值必须为一个无单位数,并且它会被当作  <flex-shrink> 的值。

第三个值必须为一个有效的宽度值, 并且它会被当作 <flex-basis> 的值。 

<!doctype html>
<html lang="en"><head><style>.d-flex {display: flex;width: 800px;height: 100px;border: 1px solid black;}.content {width: 200px;height: 100px;background-color: skyblue;border: 1px solid black;}</style></head><body><div class="d-flex"><div class="content" style="flex: 0 0 100px;">flex: 0 0 100px;</div><div class="content" style="flex: 1 0 150px;">flex: 1 0 150px;</div><div class="content" style="flex: 1 1 200px;">flex: 1 1 200px;</div><div class="content"></div></div></body>
</html>

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

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

相关文章

Sora:探索AI视频模型的无限可能

随着人工智能技术的飞速发展&#xff0c;AI在视频处理和生成领域的应用正变得越来越广泛。Sora&#xff0c;作为新一代AI视频模型&#xff0c;展示了前所未有的潜力和创新能力。本文将深入探讨Sora的功能、应用场景以及它所带来的革命性变化。 一、Sora的核心功能 1.1 视频生…

【JPCS独立出版】2024计算建模与应用数学国际学术会议暨中俄微分方程及其应用学术会议(CMAM 2024 DEA,8月2-4)

2024计算建模与应用数学国际学术会议暨中俄微分方程及其应用学术会议&#xff08;CMAM 2024 & DEA&#xff09;由大连海事大学理学院主办&#xff0c;上海海关学院、俄罗斯科学院科学城数学中心、辽宁省数学学会、大连市数学学会协办&#xff0c;AEIC学术交流中心承办。会议…

django 和 pyecharts实现可视化大屏(完整代码)

1.配置settings文件 &#xff08;1&#xff09;注意&#xff1a;需要先创建app(djnago-admin startapp app名称) &#xff08;2&#xff09;配置模板文件 DIRS: [os.path.join(BASE_DIR, templates)], &#xff08;3&#xff09;配置静态文件(这里我由于存放清洗好的需要进行可…

电脑屏幕花屏怎么办?5个方法解决问题!

“我刚刚打开电脑就发现我的电脑屏幕出现了花屏的情况。这让我很困惑&#xff0c;我应该怎么解决这个问题呢&#xff1f;求帮助。” 在这个数字时代的浪潮中&#xff0c;电脑早已成为我们生活中不可或缺的一部分。然而&#xff0c;当你正沉浸在紧张的游戏对战中&#xff0c;或是…

【ARM】Ulink不同的系列对于芯片的支持和可以支持keil软件

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解不同版本的ULINK可以支持的芯片架构&#xff0c;和ULINK可以和哪个系列的keil软件进行在线调试 2、 问题场景 用于了解不同ULINK仿真器对于芯片的支持是不一样的&#xff0c;并不是ULINK可以支持所有的keil软件…

基于Python的求职招聘管理系统【附源码】

摘 要 随着互联网技术的不断发展&#xff0c;人类的生活已经逐渐离不开网络了&#xff0c;在未来的社会中&#xff0c;人类的生活与工作都离不开数字化、网络化、电子化与虚拟化的数字技术。从互联网的发展历史、当前的应用现状和发展趋势来看&#xff0c;我们完全可以肯定&…

Linux命令之文件操作

文件拷贝&#xff1a;cp命令 概述 该命令的形式如下&#xff0c;其将源文件复制到指定目的地下。当有多个源文件时&#xff0c;目的地为目录文件 登录后复制 cp [option] source dest cp [option] source ... dest_directory 1.2. 常见可选参数option如下&#xff1a; -r: 递归…

免费分享:中国1:250万地质图(附下载方法)

中国1&#xff1a;250万地质图反映了中国区域地质构造面貌和基本特征&#xff0c;表示了中国区域地质的特色&#xff0c;地质编图的标准化程度较高&#xff0c;地质图的编制过程中充分采用了信息技术&#xff0c;反映了地质调查与科研的若干新进展与认识。 数据简介 本数据为空…

多业态、多品牌企业,如何实现积分通积通兑?(附大会员方案)

2021年&#xff0c;龙湖升级珑珠为全业态通用积分&#xff0c;招商荟深度接入招商蛇口大会员体系建设&#xff1b;2022年&#xff0c;华润置地大会员“万象星”正式上线&#xff1b;2023年&#xff0c;“蒙牛生活家会员中心”全新上线…… 越来越多地产、零售等行业的集团品牌…

Day34:LeedCode 56. 合并区间 738.单调递增的数字 968.监控二叉树

56. 合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;int…

使用matlab开发stm32总结,stm32-matlab常见的问题处理以及报错合集

1&#xff0c; 问题&#xff1a;本来是好的&#xff0c;突然编译运行报错&#xff0c;说是确少包&#xff0c; 解决方案&#xff1a;重启以后好了 2&#xff0c;有完美的马鞍波&#xff0c;为什么不能够转动呢&#xff1f; 原因是我这里模型的问题&#xff0c;我计算出来的是占…

windows 10 安装tcping 使用教程

1 官网下载:tcping下载 2 复制tcping 到win10系统目录C:\Windows\System32 3 tcping 网址测试,可以指定端口 4 tcping 测试端口联通 5 tcping http模式

【权威主办|检索稳定】2024年法律、教育与社会发展国际会议 (LESD 2024)

2024年法律、教育与社会发展国际会议 (LESD 2024) International Conference on Law, Education and Social Development in 2024 【重要信息】 大会地点&#xff1a;成都 官网地址&#xff1a;http://www.iclesd.com 投稿邮箱&#xff1a;iclesdsub-conf.com 【注意&#xff1…

抖音外卖服务商入驻流程及费用有哪几种?申请不通过怎么办?

随着多家互联网大厂布局的不断深入&#xff0c;本地生活的市场前景和收益潜力逐渐展现了在人们眼前&#xff0c;连带着其重点板块之一的外卖市场也成为了众多资本和创业者的重点关注对象。在此背景下&#xff0c;抖音外卖的正式开放&#xff0c;更是将本就火热的本地生活和外卖…

Hi3861 OpenHarmony嵌入式应用入门--LiteOS semaphore作为锁

CMSIS 2.0 接口中的 Semaphore&#xff08;信号量&#xff09;是用于嵌入式系统中多线程或中断服务例程&#xff08;ISR&#xff09;之间同步和共享资源保护的重要机制。Semaphore 是一种用于控制对多个共享资源访问的同步机制。它可以被看作是一个计数器&#xff0c;用于跟踪可…

26.4 Django 视图层

1. 视图函数 视图函数是Django框架中用于处理Web请求并返回Web响应的重要组件. 以下是对Django视图函数的详细解释: * 1. 视图函数与URL的映射.为了让Django能够知道哪个URL对应哪个视图函数, 需要在应用的urls.py文件中定义URL模式.使用path或re_path函数来定义URL模式, 并将…

线稿一键转真人,comfyui工作流分享!

大家好&#xff01;我是极客菌 在数字艺术和图像处理的新时代&#xff0c;技术的进步不断拓宽着创意的边界。ComfyUI 提供了一套高效、易用的工作流&#xff0c;通过简单的节点操作即可实现从线稿到真人图像的转换。 这一技术不仅简化了创作流程&#xff0c;还极大地提升了图像…

深入解读一下 `com.google.android.material.appbar.CollapsingToolbarLayout`

简介 在现代 Android 应用中&#xff0c;提供流畅且美观的用户体验是非常重要的。CollapsingToolbarLayout 是 AndroidX库中 Material Components 的一部分&#xff0c;它提供了一种易于实现的可折叠工具栏效果&#xff0c;常用于提供视觉吸引力的标题栏和动画效果。 本文将详…

避开常见的坑,快速制作一个免费、交互式景区导游地图

目录 1 前言 2 注册登录 3 增加景区&#xff0c;注意设置地图中心点和级别 3.1 确定地图位置和缩放级别 3.2 新增景区&#xff0c;输入几个文本项目 3.3 可以继续调整地图位置和级别 4 增加景点 4.1 点击景点跳转错误 5 新增景区和景点介绍帖子&#xff0c;需要催一下…

【PyTorch】【机器学习】图片张量、通道分解合成和裁剪

一、导入所需库 from PIL import Image import torch import numpy as np import matplotlib.pyplot as plt二、读取图片 pic np.array(Image.open(venice-boat.jpg))上述代码解释&#xff1a;先用Image.open()方法读取jpg格式图片&#xff0c;再用np.array()方法将图片转成…