转https://blog.csdn.net/Slueia/article/details/110396787

1、flex-derection属性:
取值:row(默认) | row-reverse | column | column-reverse
用于控制项目排列方向与顺序,默认row,即横向排列,项目排列顺序为正序1-2-3;row-reverse同为横向排列,但项目顺序为倒序3-2-1。column 与row相反,为纵向排列,项目顺序为正序1-2-3,column-reverse同为纵向排列,项目顺序为倒序3-2-1。

2、flex-wrap属性:
取值:nowrap(默认) | wrap | wrap-reverse
用于控制项目是否换行,nowrap表示不换行;
举个例子:比如容器宽度为300px,容器中有6个宽度为60px的项目,nowrap情况下,项目会强行等分容器宽度从而不换行,那么项目实际宽度也就只有50px了,而非我们自己设置的60px。
wrap表示换行,即项目不会等分容器宽度,而是根据自身宽度进行排列,如果超出父容器宽度则自然换行。
wrap-reverse同样表示换行,需要注意的是第一排会紧贴容器底部,而不是我们想象的项目6紧贴容器顶部,效果与wrap相反。

3、flex-flow属性:
flex-flow属性是flex-deriction与flex-wrap属性的简写集合,默认属性为row nowrap,即横向排列,且不换行,如果需要控制项目排列与换行,推荐使用此属性,而非单独写两个。

4、justify-content属性:
取值:flex-start(默认) | flex-end | center | space-between | space-around | space-evenly;
用于控制项目在横轴的对齐方式,默认flex-start即左对齐,center 为居中,对应的flex-end为右对齐。
space-between为左右两端对齐,即左右两侧项目都紧贴容器,且项目之间间距相等。
space-around为项目之间间距为左右两侧项目到容器间距的2倍,比较特别的布局,日常使用不太多。
space-evenly为项目之间间距与项目与容器间距相等,相当于除去项目宽度,平均分配了剩余宽度作为项目左右margin。

5、align-items
取值:flex-start | flex-end | center | baseline | stretch(默认)
用于控制项目在纵轴排列方式,默认stretch即如果项目没设置高度,或高度为auto,则占满整个容器,下面第一张图的项目没设置高度,其余图片中均为60px。
flex-start会让项目在纵轴紧贴容器顶部,flex-end与之相反。
center使用最多,自然不会陌生,在纵轴中心位置排列。
baseline比较特殊,它让项目以第一行文字的基线为参照进行排列。
注意,常理来说justify-content与align-items默认分别处理项目横轴,纵轴的对齐方式,但如果我们修改了flex-direction为column,它们处理的轴向会交换,也就是justify-content处理纵轴,align-items处理横轴。

6、align-content
取值:flex-start | flex-end | center | space-between | space-around | space-evenly | stretch(默认);
用于控制多行项目的对齐方式,如果项目只有一行则不会起作用;默认stretch,即在项目没设置高度,或高度为auto情况下让项目填满整个容器,与align-items类似。注意,如下演示的12个项目我均没有设置高度。
flex-start ,center,flex-end 与align-items属性表现一致:
space-around与justify-content保持一致,即项目之间间距为上下两端项目与容器间距两倍。
space-evenly同理,项目之间间距与项目到容器之间间距相等,space-between为上下两侧项目紧贴容器。

项目属性:
1、order
取值:默认0,用于决定项目排列顺序,数值越小,项目排列越靠前
2、flex-grow
取值:默认0,用于决定项目在有剩余空间的情况下是否放大,默认不放大;注意,即便设置了固定宽度,也会放大。
假设默认三个项目中前两个个项目都是0,最后一个是1,最后的项目会沾满剩余所有空间。
假设只有第一个项目默认为0,后面两个项目flex-grow均为1,那么后两个项目平分剩余空间。
假设第一个项目默认为0,第二个项目为flex-grow:2,最后一个项目为1,则第二个项目在放大时所占空间是最后项目的两倍。
3、flex-shrink
取值:默认1,用于决定项目在空间不足时是否缩小,默认项目都是1,即空间不足时大家一起等比缩小;注意,即便设置了固定宽度,也会缩小。
但如果某个项目flex-shrink设置为0,则即便空间不够,自身也不缩小。
4、flex
取值:默认0 1 auto,flex属性是flex-grow,flex-shrink与flex-basis三个属性的简写,用于定义项目放大,缩小与宽度。
该属性有两个快捷键值,分别是auto(1 1 auto)等分放大缩小,与none(0 0 auto)不放大,但等分缩小。
5、align-self
取值:auto(默认) | flex-start | flex-end | center | baseline | stretch,表示继承父容器的align-items属性。如果没父元素,则默认stretch。
用于让个别项目拥有与其它项目不同的对齐方式,各值的表现与父容器的align-items属性完全一致。

html/css--flex布局相关推荐

  1. css布局方式_手把手教你CSS Flex布局「真香」

    作者:EcbJS 转发链接:https://blog.csdn.net/EcbJS/article/details/106466757 前言   之前做项目,关于布局方面没怎么深入研究过,好多页面都是 ...

  2. [css] flex布局的缺点有哪些?(除兼容性外)

    [css] flex布局的缺点有哪些?(除兼容性外) 无法直接定义列数(要使用百分比的方式实现) 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目 ...

  3. html实现 左图右文_让CSS flex布局最后一行左对齐的N种方法

    作者:张鑫旭 https://www.zhangxinxu.com/wordpress/2019/08/css-flex-last-align/ 前言 小伙伴们是否还记得,之前小编也发布了几篇关于CS ...

  4. css flex布局 模型(CSS justify-content 属性) - 代码案例

    css flex布局 模型(CSS justify-content 属性) - 代码案例 效果图: . 代码如下: .father{display: -webkit-box;display: -ms- ...

  5. html flex自动换行,css flex布局超长自动换行的示例代码

    要创建一个 flex 容器,只需要将一个 display: flex 属性添加到一个元素上. 默认情况下,所有的直接子元素都被认为是 flex 项,并从左到右依次排列在一行中. 如果 flex 项的宽 ...

  6. CSS flex布局

    1. 介绍 1.1 说明 flex布局,也称为flex弹性布局:主要目的是使item的宽度.高度按一定顺序填充父容器的可用空间. 示例 注意:在下文中,将以parent指代父容器,item指代容器内的 ...

  7. css flex布局

    关于flex布局的一些简单用法 效果(下图) 实现代码: <!--html--> <div class="wrap"><div class=" ...

  8. html 布局 flex,CSS flex布局

    任何一个容器都可以指定为Flex布局. .box{ display: flex; } 行内元素也可以使用flex布局 .box{ display: inline-flex; } webkit内核的浏览 ...

  9. W3C推荐的新布局模式 【CSS Flex布局】详解

    本文目录 概述 属性 弹性容器的属性(父级) display flex-direction flex-wrap flex-flow justify-content align-items align- ...

  10. html+css+flex布局制作个人简历

    知识点: HTML,CSS,Flex弹性布局. 重点: Flex弹性布局,sticky定位. 目录: 图片自备 源码 index.html <!DOCTYPE html> <html ...

最新文章

  1. 基于linux的驱动设计,《基于LINUX的虚拟驱动设计》-毕业论文.doc
  2. ElementUI的组件拆解之Tooltip
  3. PMCAFF | 智能硬件2.0时代:用户导向,内容连接
  4. 抛物线交点式公式_2020“九校联考”中点公式解决平四存在性问题
  5. 感谢有你们,架构师修行之路!
  6. java实验泛型与容器总结_【Java心得总结三】Java泛型上——初识泛型
  7. mysql时区代码_mysql时区设置为东八区
  8. BiLSTM-CRF模型中的CRF层讲解
  9. CCF推荐的A类、B类、C类中文科技期刊
  10. android控制灯编程,远程控制智能灯(android)
  11. 实现一个计算体脂率的程序
  12. 这些和编程有关的日本动漫,你都看过那几部?
  13. mac下配置subl启动sublime text 编辑器
  14. 有限域(Galois Field,GF,伽罗华域)的乘法原理
  15. 2021年广东省安全员A证第三批(主要负责人)考试总结及广东省安全员A证第三批(主要负责人)试题及解析
  16. 图像识别python
  17. 我在做售前-5.如何应聘售前
  18. 与其让黑客有机可乘,不如用MCK保驾护航
  19. 数据结构题集(c语言版)第1章:绪论
  20. 中式红木装修,让豪宅更有韵味

热门文章

  1. 什么是SQL注入式攻击 如何防范
  2. AC6969A 双声道蓝牙芯片 经典蓝牙5.3 纯蓝牙
  3. TBB基础之parallel_for
  4. 计算机网络连接显示678是什么意思,网络连接错误678什么意思 网络连接错误678解决方法【图文】...
  5. joycon手柄拆解_任天堂Switch手柄腕带勿装反 取下需技巧
  6. 孤独和寂寞也是一种美
  7. 【观察】揭秘:中信银行信用卡新核心系统自研之路
  8. Cased by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.SettableFuture
  9. linux中环境变量及环境变量配置文件详解
  10. 微信公众平台开发过程