认识弹性盒子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. JavaScript 字符串(String)对象的方法

    anchor() 描述:用于创建 HTML 锚 原型:stringObject.anchor(anchorname) 用法: <script> var txt="Hello wo ...

  2. win10设置开机自启动程序

    问题情境:前两天刚刚给自己的win10系统美化了一下,但发现一个问题,每次开机都需要双击启动一个程序,才能达到一个我想要的效果,所以就在思考能不能将这个程序设为开机自启动项呢? 1.首先,找到启动文件 ...

  3. C++ functional库中的仿函数

    一.仿函数简介 仿函数(functor)又称之为函数对象(function object),实际上就是 重载了()操作符 的 struct或class. 由于重载了()操作符,所以使用他的时候就像在调 ...

  4. ZABBIX Proxy容器启动的配置过程

    ZABBIX Proxy容器启动的配置过程 环境介绍 版本 zabbix6 zabbix server 与 zabbix proxy 非同一台主机,zabbix proxy为主动方式提交给server ...

  5. 被人DDoS攻击了,分析一下原理和防护

    一.行业现象 1.1 为什么要攻击? 常见的,一个是同行恶意竞争,一个是敲诈勒索. 无论是传统行业的线下门店,还是互联网行业的门户网站.APP产品,都存在着竞争关系,争相获得更多客源,究其目的,无非是 ...

  6. HashMap和Hashtable以及ConcurrentHashMap的区别

    ​ HashMap和Hashtable的区别 何为HashMap HashMap是在JDK1.2中引入的Map的实现类. HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部 ...

  7. 论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》

    论文信息 论文标题:CGC: Contrastive Graph Clustering for Community Detection and Tracking论文作者:Namyong Park, R ...

  8. 编写引入svg

    SVG是一种XML语言,类似XHTML,可以用来绘制矢量图形,例如右面展示的图形.SVG可以通过定义必要的线和形状来创建一个图形,也可以修改已有的位图,或者将这两种方式结合起来创建图形.图形和其组成部 ...

  9. 在SpringBoot中使用logback优化异常堆栈的输出

    一.背景 在我们在编写程序的过程中,无法保证自己的代码不抛出异常.当我们抛出异常的时候,通常会将整个异常堆栈的信息使用日志记录下来.通常一整个异常堆栈的信息是比较多的,而且存在一些没用的信息.那么我们 ...

  10. Hadoop介绍篇

    Hadoop详解 1.前言 对于初次接触Hadoop的小伙伴来说,Hadoop是一个很陌生的东西,尤其是Hadoop与大数据之间的关联,写这篇文章之前,我也有许多关于Hadoop与大数据的疑惑,接下来 ...