认识弹性盒子flex

来源:https://blog.xybin.top/2022/flex

1、定义弹性布局(父级上定义)display:flex;

如果说内核为webkit 的必须前面加上 -webkit-flex

2、设置了弹性布局之后,子元素的css中的float, clear, vertical-align 这些属性将失效。

3、可以将flex弹性布局看成一个大盒子,也就是一个大容器,只要将它定义为 display:flex; 即它里面所有的子元素均自动成为容器的成员,专业术语称之为 项目

4、默认情况下,项目都是在容器里面水平排列的,即按照主轴排列,且是顺时针方向的。需(1,2,3)也就是x轴方向。(默认情况都是 flex-direction:row;

<div class="box">
<div class="boxone">第一个</div>
<div class="boxtwo">第二个</div>
<div class="boxthree">第三个</div>
</div>

css样式:

.box{
width: 500px;
height:400px;
background: pink;
display: flex;
}
.boxone{
width: 100px;
height:200px;
background: red;
}
.boxtwo{
width: 100px;
height:200px;
background: orange;
}
.boxthree{
width: 100px;
height:200px;
background: yellow;
}

示例:

第一个
第二个
第三个

5、如果是需要它反着排列(3,2,1)排列,此时就需要用到 flex-direction:row-reverse;(和我们的全部 float:right; 是一样的效果)

.box{
width: 500px;
height:400px;
background: pink;
display: flex;
flex-direction:row-reverse;
}

示例:

第一个
第二个
第三个

来源:https://blog.xybin.top/2022/flex

6、除了按照主轴方向排列,还有按照y轴方向排列的。

加上 flex-direction:column;

.box{
width: 500px;
height:400px;
background: pink;
display: flex;
flex-direction:column;
}

示例:

第一个
第二个
第三个

7、同理,y轴方向上倒序排列:flex-direction:column-reverse;

示例:

第一个
第二个
第三个


8、当我们容器里面的项目太多。这个时候我们会发现。这些项目都挤到了一起。项目本身的宽度根本就不起作用。以上的html代码,我们我加入几个盒子上去。

示例:

第一个
第二个
第三个
第四个
第五个
第六个

9、怎样才能让这些盒子本身的宽度起到作用,一行排不到,能够自动的排第二排呢?这边就需要用到弹性布局中的换行。

flex-wrap:wrap;

.box{
width: 500px;
height:400px;
background: pink;
display: flex;
flex-wrap:wrap;
}

示例:

第一个
第二个
第三个
第四个
第五个
第六个

flex-wrap:nowrap; (不换行)

flex-wrap:wrap;(换行)

flex-wrap:wrap-reverse;(倒序换行)

倒序换行效果:

示例:

第一个
第二个
第三个
第四个
第五个
第六个

>来源:https://blog.xybin.top/2022/flex

10、上面的换行默认情况是以x轴换行的,当然还有以y轴来换行的,也就是说,第一列排满了之后,再排第二列。

此时就需要用到 flex-flow:row nowrap; (默认情况) flex-flow:column wrap; (y轴换行) flex-flow:column wrap-reverse;(倒序y轴换行)

y轴换行

.box{
width: 500px;
height:400px;
background: pink;
display: flex;
flex-flow:column wrap;
}

示例:

第一个
第二个
第三个
第四个
第五个
第六个

倒序y轴换行:

示例:

第一个
第二个
第三个
第四个
第五个
第六个

11、那在css中的位置关系,水平方向的左中右,垂直方向的上中下 ,用弹性布局怎么实现呢?这里就给大家介绍弹性布局怎样来实现的。首先看水平反向:

水平方向布局

  justify-content:flex-start; 水平左

  justify-content:center;  中

  justify-content:flex-end; 水平右

  justify-content:space-around; 居中显示,两边也空有间隙

  justify-content:space-between; 两边不留空隙

依次看下效果:

  justify-content:flex-start; 水平左 (默认的)

示例:

第一个
第二个
第三个

  justify-content:center; 中

示例:

第一个
第二个
第三个

  justify-content:flex-end; 水平右

示例:

第一个
第二个
第三个

  justify-content:space-around; 居中显示,两边也空有间隙(且是均等的)

示例:

第一个
第二个
第三个

 justify-content:space-between; 两边不留空隙(平均排列的)

示例:

第一个
第二个
第三个

垂直方向布局

  align-items:flex-start; 上
  align-items:center; 中 (比起css样式,垂直反向居中flex弹性布局是个不错的优势)
  align-items:flex-end; 下

  这边就演示一个垂直底部:

示例:

第一个
第二个
第三个

但是以上的垂直位置排版必须建立在一个前提条件下,即 单行 只有一行 。对于多行,即换行的,表现出来的样子并不是我们需要看到的

  如下:

<div class="box">
<div class="boxone">第一个</div>
<div class="boxtwo">第二个</div>
<div class="boxthree">第三个</div>
<div class="boxone">第四个</div>
<div class="boxtwo">第五个</div>
<div class="boxthree">第六个</div>
</div>
.box{
width: 500px;
height:800px;
background: pink;
display: flex;
flex-wrap:wrap;
align-content:center;
}

示例:

第一个
第二个
第三个
第四个
第五个
第六个

此时对于多行的,我们用另外一个属性。即 align-content:center; 其他上 ,下 也是一样的,如果是多行的话,即把items改成content 即可 其他几个也是一样的

示例:

第一个
第二个
第三个
第四个
第五个
第六个

12、order属性

  定义项目的排雷顺序,order的值越小,排列在越前面。 这个属性是写在需要换顺序的子集上的,也就是项目上的。默认为0;

<div class="box">
<div class="boxone">第一个</div>
<div class="boxtwo">第二个</div>
<div class="boxthree">第三个</div>
</div>
.box{
width: 500px;
height:600px;
background: pink;
display: flex;
flex-wrap:wrap;
align-items:center;
}
.boxone{
width: 100px;
height:200px;
background: red;
order:3;
}
.boxtwo{
width: 100px;
height:200px;
background: orange;
order:1;
}
.boxthree{
width: 100px;
height:200px;
background: yellow;
}

示例:

第一个
第二个
第三个

来源:https://blog.xybin.top/2022/flex

认识弹性盒子flex的更多相关文章

  1. CSS3总结五:弹性盒子(flex)、弹性盒子布局

    弹性盒子容器的属性与应用 display:flex/inline-flex flex-direction flex-wrap justify-content align-items align-con ...

  2. CSS3 弹性盒子(Flex Box)

    1 CSS3 弹性盒子(Flex Box) 1 http://caniuse.com/#search=flex%20box https://www.w3.org/TR/css-flexbox-1/ C ...

  3. css3系列之弹性盒子 flex

    弹性盒子(伸缩盒) 注意,本篇会很长,非常长, 因为弹性盒子的知识点比较多 搜索 弹性盒子的属性  ctrl + F   如果觉得图太小, ctrl + +键 设置弹性盒子的属性: display:f ...

  4. css3弹性盒子 flex布局

    CSS3 弹性盒 1.display:flex 说明: 设置为弹性盒(父元素添加) 2.flex-direction(主轴排列方式) 说明: 顺序指定了弹性子元素在父容器中的位置 row 默认在一行内 ...

  5. CSS3 弹性盒子(Flex Box) 微信小程序图片通栏

    {{define "chkUrl"}} <!DOCTYPE html><html lang="zh-cmn-Hans"><head ...

  6. CSS 弹性盒子 flex的三个属性:grow、shrink、basis

    flex-grow 首先介绍flex-grow属性,flex-grow会在容器太大时(图片A.B的宽度和 < 父容器宽度)对元素作出调整. 如果图片A的flex-grow属性的值为 1,图片B的 ...

  7. 弹性盒子Flex Box滚动条原理,避免被撑开,永不失效

    在HTML中,要实现区域内容的滚动,只需要设定好元素的宽度和高度,然后设置CSS属性overflow 为auto或者scroll:   在Flex box布局中,有时我们内容的宽度和高度是可变的,无法 ...

  8. css3弹性盒子

    CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...

  9. 【CSS3】 CSS3:弹性盒子(Flex Box)

    Flex布局是什么 如何指定一个容器为Flex布局 Flex的基本语法 display flex-direction justify-content align-items flew-wrap ali ...

随机推荐

  1. Struts2中将表单数据封装到List和Map集合中

    一.将表单数据封装到Map集合中 1.创建MapAction类 import cn.entity.User; import com.opensymphony.xwork2.ActionSupport; ...

  2. Redis 未授权访问漏洞【原理扫描】修复方法

    漏洞类型 主机漏洞 漏洞名称/检查项 Redis 配置不当可直接导致服务器被控制[原理扫描] 漏洞名称/检查项 Redis 未授权访问漏洞[原理扫描] 加固建议 防止这个漏洞需要修复以下三处问题 第一 ...

  3. 用asmlib方式创建oracle集群ASM磁盘(oracleasm)

    创建asm磁盘的几种方式 创建asm方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式 3.2 raw方式(裸设备方式) 4.as ...

  4. Mycat管理

    Mycat 提供了类似数据库的管理监控方式,可以通过 mycat 端口 9066 执行相应的 SQL 语句进行管理,可以可以通过 navicat 软件进行远程连接管理,再使用 MySQL 命令行界面登 ...

  5. 基于pgrouting的路径规划处理

    对于GIS业务来说,路径规划是非常基础的一个业务,一般公司如果处理,都会直接选择调用已经成熟的第三方的接口,比如高德.百度等.当然其实路径规划的算法非常多,像比较著名的Dijkstra.A*算法等.当 ...

  6. Spring的3级缓存和循环引用的理解

    此处是我自己的一个理解,防止以后忘记,如若那个地方理解不对,欢迎指出. 一.背景 在我们写代码的过程中一般会使用 @Autowired 来注入另外的一个对象,但有些时候发生了 循环依赖,但是我们的代码 ...

  7. python 处理网络帧时,CRC算法中整数按位取反运算(~)得到负数的规避方法

    计算机中的符号数有三种表示方法,即原码.反码和补码.三种表示方法均有符号位和数值位两部分,符号位都是用0表示"正",用1表示"负". 正数的原码,反码,补码都是 ...

  8. 攻防世界-MISC:pdf

    这是攻防世界新手练习区的第二题,题目如下: 点击附件1下载,打开后发现是一个pdf文件,里面只有一张图片 用WPS打开,没发现有什么不对的地方,参考一下WP,说是要转为word格式.随便找一个在线转换 ...

  9. FreeRTOS --(11)任务管理之系统节拍

    转载自 https://blog.csdn.net/zhoutaopower/article/details/107146764 前面有了创建任务.启动调度器.任务控制,接下来便开始分析一个 Tick ...

  10. 关于IPC和PTH用户权限问题,psexec拒绝访问(Access Denied)的原因

    前瞻 关于net use和psexec无法使用本地管理员组用户建立连接的问题 测试环境: win7系统,存在域环境 域名:de1ay 普通域用户: de1ay\de1ay 域管理员用户:de1ay\A ...