flex布局_flex布局的 flex(felx-grow、flex-shrink、flex-basis)详解

flex布局中的flex-grow,flex-shrink,flex-basis

接上篇文章,

1. flex-grow属性

flex-grow定义剩余空间的分成。默认为0,即如果存在剩余空间,也不放大。

如何理解这里的剩余空间呢,用例子来说明吧。

f3bd74601f7d393e5cd07484c38a824f.png

默认的情况(flex-grow:0)在浏览器下是

3d2390242f373a4d5c7041d3c35fe7f2.png

将flex-grow:1 时是:

d1563883617467417858c0487bee04b4.png

此时我们将例子变一下

b22ae09b5b9286608b354ed3fff0c05e.png

浏览器就是

53e3b587b061e9efcbb7c87cf61d3a52.png

通过上面的动手,我自己总结出

  • flex-grow会覆盖你设置的width属性,使之失效
  • 当三个div同时设置相同的非 0 正整数时,即为三个div平分剩余空间.
    • 剩余空间=浏览器宽度-item内容宽度之和
    • flex-grow设置为负值时等于0
  • 当三个div flex-grow数值不同,则按比例分配剩余空间.当有没有设置felx-grow,且有width属性的话,先减去其占有的宽度;
    • 这里有一个误区就是认为flex-grow:1,flex-grow:2 的宽度时1:2,错! 是分配的剩余空间1:2

常用:在布局的时候,想让一个item填满整行,其余占据其内容宽度就可以了 比如这样

6f8598da336e66a8b4d3b683d4f3a1a3.png

7cd16971bd03363c3a359aa8905bd887.png

是不是就不需要使用 float啦,是不是不用清除讨厌的浮动啦.嘻嘻

2. flex-shrink

flex-shrink属性定义了项目的缩小比例。flex-shrink的默认值为1,flex-shrink的值为0时,不缩放。

flex-grow是对剩余空间的分配,而flex-shrink就是对空间不足时怎么安排的设置.

同样的当空间不足,比如三个div宽度都为200px 父盒子只有400px,那么默认是平均分配这个不足的空间,每个div占据200px(本身)-200px/3(缺的200px平分)=133.333px 基本和flex-grow一致啦.

但是呢有一点不同的就是 在flex-shrink是默认缩小,当然也不会覆盖你设置的width,所以设置了一个item为固定宽度时,不要想着他不会shrink喔. 和felx-grow差不多啦

3. flex-basis

flex-basis属性定义了项目占据的主轴空间。浏览器根据这个属性,计算主轴多余空间或不足空间的大小。它的默认值为auto,即项目的本来大小。

感觉上基本和width差不多都是指定item的宽度啊.

然后就是

4. flex

flex是上述三种一起的简写方式. 顺序对应,felx-grow flex-shrink flex-basis 默认flex:0 1 auto; 有两个个特殊值.

flex:none;即为flex:0 0 auto
flex:auto;即为 flex:1 1 auto
然后flex为一个正整数时
例如flex:1 即为flex:1 1 0%;
flex为一个长度1px or 百分号1%
例如:flex:0% 即为flex:1 1 %0

我们通常使用flex:1 来使得一个元素,有剩余空间时他扩张,空间过小时他先缩小

效果:

b95d626983d58611be2e1e0ced900279.gif

挺方便的.

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

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

相关文章

python教学视频r_R Tutorial

教程列表:Customizing The Look of R Studio (R Tutorial 1.11)Correlation and Covariance in R (R Tutorial 4.9)Checking Linear Regression Assumptions in R (R Tutorial 5.2)Changing a Numeric Variable to Categorical Variable in R (R Tutorial 5.4)Chang…

Mina网络通信框架

认识 Mina Apache Mina Server 是一个网络通信应用框架,与 Netty 出自同一作者,Netty 借鉴了部分 Mina 的设计思路。 Mina 主要是对基于 TCP/IP、UDP/IP 协议栈的通信框架,Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用&#x…

每个tabpage中都有一个dategridview_每个女人,都有一个礼服梦

●今天,我要带着大家跟随几部经典电影,来开启一场关于礼服的时空穿越。01. 《爱玛》//关键词:19世纪初英国乡村经历了巴洛克风格的洗礼,服饰的整体风格变得柔和了不少,蕾丝、细纱、蝴蝶结这些浪漫元素,是这…

ssm框架sql换成MySQL_搭建ssm框架,可实现登录和数据展示以及增删改查

需求:后台使用ssm(spring-springMVC-mybatis)进行整合前台使用bootstrap框架前后台交互使用Ajax进行发送表结构:登录页面后显示所有用户信息,可对每条进行增删改查登录时也使用本表的user_name和user_pwd进行校验项目目录结构步骤一&#xff…

巧妙mybatis避免Where 空条件的尴尬

我就废话不多说了&#xff0c;大家还是直接看代码吧~ <select id"findActiveBlogLike" resultType"Blog">SELECT * FROM BLOGWHERE<if test"state ! null">state #{state}</if> </select>如果state参数为空时&#x…

numpy 矩阵与向量相乘_高能!8段代码演示Numpy数据运算的神操作

作者&#xff5c;王天庆来源&#xff5c;大数据(ID&#xff1a;hzdashuju)导读&#xff1a;本文介绍一下在Python科学计算中非常重要的一个库——Numpy。Numpy是Numerical Python extensions 的缩写&#xff0c;字面意思是Python数值计算扩展。Numpy是Python中众多机器学习库的…

Spring Boot——日志配置

日志&#xff0c;通常不会在需求阶段作为一个功能单独提出来&#xff0c;也不会在产品方案中看到它的细节。但是&#xff0c;这丝毫不影响它在任何一个系统中的重要的地位。 为了保证服务的高可用&#xff0c;发现问题一定要即使&#xff0c;解决问题一定要迅速&#xff0c;所…

python2转python3代码_Python2代码转成Python3代码

1.利用anaconda软件自带的功能: 1.找2to3.py文件 我的anaconda装在了D盘下的Anaconda文件夹下 你需要找到anaconda下的script文件夹里面的2to3-script.py文件(由于版本不同,可能名字不太一样,但是一定是2to3开头,而且是py文件)打开2to3-script.py文件后(内容肯定都是一样的):2.…

hbase java api count_HBase内置过滤器java api的总结

1、RowFilter:筛选出匹配的所有的行(使用过)//rowkey 等于 test|id9Filter filternew RowFilter(CompareOperator.EQUAL,new BinaryComparator(Bytes.toBytes("test|id9")));2、PrefixFilter:筛选出具有特定前缀的行健的数据//rowkey 以test开头Filter filternew Pre…

是否有必要使用外键?为什么不用外键?

什么是外键&#xff1a; 如果一个实体的某个字段指向另一个实体的主键&#xff0c;就称为外键。被指向的实体&#xff0c;称之为主实体&#xff08;主表&#xff09;&#xff0c;也叫父实体&#xff08;父表&#xff09;。负责指向的实体&#xff0c;称之为从实体&#xff08;…

haproxy keepalived_Haproxy+KeepAlived+Mycat实现高可用集群

1.什么是HaproxyHAProxy是一个使用C语言编写的自由及开放源代码软件[1]&#xff0c;其提供高可用性、负载均衡&#xff0c;以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬…

IO与NIO

1、阻塞与非阻塞 阻塞与非阻塞是描述进程在访问某个资源时&#xff0c;数据是否准备就绪的的一种处理方式。当数据没有准备就绪时&#xff1a; 阻塞&#xff1a;线程持续等待资源中数据准备完成&#xff0c;直到返回响应结果。非阻塞&#xff1a;线程直接返回结果&#xff0c…

java spark wordcount_提交任务到spark(以wordcount为例)

1、首先需要搭建好hadoopspark环境&#xff0c;并保证服务正常。本文以wordcount为例。2、创建源文件&#xff0c;即输入源。hello.txt文件&#xff0c;内容如下&#xff1a;tom jerryhenry jimsuse lusy注&#xff1a;以空格为分隔符3、然后执行如下命令&#xff1a;hadoop fs…

python类百度百科_Python抓取百度百科数据

抓取策略确定目标&#xff1a;确定抓取哪个网站的哪些页面的哪部分数据。本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介。 分析目标&#xff1a;分析要抓取的url的格式&#xff0c;限定抓取范围。分析要抓取的数据的格式&#xff0c;本实例中就要分析标…

redis的四大特性和原理

一、redis的过期 A.应用场景 cookie自动过期&#xff0c;限时优惠价格&#xff0c;限制每分钟的访问次数 B.实现方式 setex(String key, int seconds, String value) expire key time #秒 pexpire key time #毫秒 expireat key time #秒 pexpireat key time #毫秒 C.实…

java ssh 那一层应该捕获异常_ssh经典异常!

我对异常抛出的情况作啦一个总结&#xff0c;下面的是我在做项目的时候&#xff0c;处理抛出来的经典异常。严重: action: nulljava.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugInat org.apache.catalina.loader.WebappClassLoader.loadCl…

默认文献工具_工具分享??超好用的SCI外文文献下载工具

第一步&#xff1a;打开工具第二步&#xff1a;查找目标文献的DOI号&#xff08;知网、谷歌学术等等...&#xff09;&#xff0c;然后复制。第三步&#xff1a;粘贴到工具里面&#xff0c;然后点击「立即下载」第四步&#xff1a;点击立即下载之后&#xff0c;会自动打开默认浏…

java 变量的调用方法_java类变量的调用方式

java类变量的调用方式从类的内部调用类变量&#xff0c;可以使用类名.变量&#xff0c;也可以直接使用变量进行调用&#xff1a;public class Test {static byte a 1;static short b 2;​public static void main(String[] args) {System.out.println("a"a);System…

Redis之Redis的事务

1.Redis的事务是什么 Redis 事务的本质是一组命令的集合,事务支持一次执行多个命令&#xff0c;一个事务中所有命令都会被序列化。(redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令). 1.1reids事务的特点 事务同命令一样都是Redis最小的执行单位&#xff0…

idea 设置内存_IDEA新特性:提前知道代码怎么走!

作者&#xff1a;简简单单OnlineZuozuo原文链接&#xff1a;https://blog.csdn.net/qq_15071263/article/details/104186309新特性IDEA - 2020.1 版本针对调试器和代码分析器的改进&#xff0c;值得期待1、对于调试器的加强&#xff1a;数据流分析辅助2、调试加强&#xff1a;属…