Title/CSS Flex布局完全指南 #flight.Archives002

序(from Ruanyf) :

网页布局(layout)是 CSS 的一个重点应用.

布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性. 它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现

2009年,W3C 提出了一种新的方案 - Flex 布局,可以简便、完整、响应式地实现各种页面布局.

Tag/Flex介绍

.container{
display:flex; /*or inline-flex*/
}

设置了.container元素为Flex容器(Flex container),.container的直接子元素被称为Flex项目(Flex item)

Flex元素按照主轴(main-axis)的方向排列,交叉轴(cross-axis)与主轴垂直

主轴的开始和结束被称为 main start 和 main end

交叉轴的开始和结束被称为 cross start 和 cross end

Tag/容器(flex container)属性

属性 可取值 说明
display flex,inline-flex 指定一个容器是否启用Flex布局
flex-direction row,row-reverse,column,column-reverse 指定主轴(main-axis)的方向
flex-wrap nowrap,wrap,wrap-reverse 指定内容超出一行情况的换行方式
flex-flow <flex-direction> || <flex-wrap> CSS简写属性
justify-content flex-start,flex-end,center,space-between,space-around 指定项目在主轴(main-axis)上的对齐方式
align-items flex-start,flex-end,center,baseline,stretch 指定项目在交叉轴(cross-axis)上的对齐方式
align-content flex-start,flex-end,center,space-between,space-around,stretch 同时指定项目在两根轴线上的对齐方式(如果项目只有一根轴线.该属性不起作用)

Tag/项目(flex item)属性

属性 可取值 说明
order 指定项目的排列顺序,默认值为0,order相同时按照项目在DOM中的顺序排序
flex-grow 指定项目大小的比例,默认值为0,width属性会优先指定flex-item的最小大小
flex-shrink 指定项目大小在单行空间不足时的收缩比例,默认值为1
flex-basis 指定项目在主轴方向上的初始大小
flex <'flex-grow'> <'flex-shrink'> <'flex-basis'> CSS简写属性
align-self auto,flex-start,flex-end,center,baseline,stretch 指定单个元素的对齐方式,优先级高于align-items属性

->> Details

Flex 属性的值 (from MDN)

/* 关键字值 */
flex: auto;
flex: initial;
flex: none; /* 一个值, 无单位数字: flex-grow */
flex: 2; /* 一个值, width/height: flex-basis */
flex: 10em;
flex: 30px;
flex: min-content; /* 两个值: flex-grow | flex-basis */
flex: 1 30px; /* 两个值: flex-grow | flex-shrink */
flex: 2 2; /* 三个值: flex-grow | flex-shrink | flex-basis */
flex: 2 2 10%; /*全局属性值 */
flex: inherit;
flex: initial;
flex: unset;

->> Demos

详见MDN,Codepen

->> See also

Flex Bugs https://github.com/philipwalton/flexbugs

Flexbox Properties Demonstration https://codepen.io/justd/full/yydezN/

->> Reference link

MDN中文文档 https://developer.mozilla.org/zh-CN/docs/Learn/CSS/CSS_layout/Flexbox

MDN 英文文档 https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox

CodingStartUp https://www.bilibili.com/video/BV1qJ411N7TA

CSS-Tricks https://css-tricks.com/snippets/css/a-guide-to-flexbox/

Scotch.io https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties

->> 文档版本&更新记录

现在版本为V1.0

详见 Github(@flightmakers)

CSS Flex布局完全指南 #flight.Archives002的更多相关文章

  1. css flex布局

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

  2. CSS Grid 布局完全指南(图解 Grid 详细教程)

    CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...

  3. CSS flex 布局快速入门

    以前已经学过flex了,一直没做笔记,现在做下笔记再回忆下. 首先,flex布局的迷之属性们,如果一知半解,机械记忆的话,那不到半个月基本忘光光.先感受一下这12个flex布局属性,是不是很“迷”人. ...

  4. 轻轻松松学CSS:Flex布局

     Flex布局就是"弹性布局",它可以简便.完整.响应式地实现各种页面布局.引入弹性布局的目的,当页面需要适应不同的屏幕大小确保元素拥有恰当的布局方式,对一个容器中的子元素进行排列 ...

  5. css flex布局详解

    来源:https://blog.csdn.net/liveinmylife/article/details/51838939 1,flex布局是个什么东西? 官方说法:Flex是Flexible Bo ...

  6. CSS Flex布局整理

    Flex布局 display: flex; 将对象作为弹性伸缩盒展示,用于块级元素 display: inline-flex; 将对象作为弹性伸缩盒展示,用于行内元素 注意兼容问题: webkit内核 ...

  7. [Web 前端 ] 还在用浮动吗?CSS flex布局你了解多少?

    cp from : https://blog.csdn.net/wwwxuewen/article/details/80859764 传统的布局:围绕盒子模型(border.margin.paddin ...

  8. CSS Flex布局属性整理

    Flex布局 display: flex; 将对象作为弹性伸缩盒展示,用于块级元素 display: inline-flex; 将对象作为弹性伸缩盒展示,用于行内元素 注意兼容问题: webkit内核 ...

  9. CSS flex 布局学习笔记

    写在前面 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局. 采用 Flex 布局的元素 ...

随机推荐

  1. csu-acm 1503: 点到圆弧的距离

    1503: 点到圆弧的距离 分析: 先判断点和圆心的连线是否在圆弧范围内,如果在,最短距离即到圆心的距离减去半径的绝对值:反之,为到端点的最短距离. 具体看注释 #include <bits/s ...

  2. 利用C语言将混乱数字排序(即冒泡排序法)(含思路)

    大一C语言 你没学过吗 这篇可以称的上入门级别的c语言了 当然还有水仙花数,冒泡排序等经典的C语言程序 后面也会逐一更新 尽情期待喔~~~ 冒泡排序法的基本思路为:每次将相邻的两个数比较,将小的调在前 ...

  3. Spring缓存的注解关键词解释

    Spring缓存的注解关键词解释 @Cacheable支持缓存 @Cacheable可以标记在一个方法上,也可以标记在一个类上. 1.当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表 ...

  4. SpringMVC(12)完结篇 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现

    到这里已经写到第12篇了,前11篇基本上把Spring MVC主要的内容都讲了,现在就直接上一个项目吧,希望能对有需要的朋友有一些帮助. 一.首先看一下项目结构: InfrastructureProj ...

  5. 深入浅出图神经网络 GCN代码实战

    GCN代码实战 书中5.6节的GCN代码实战做的是最经典Cora数据集上的分类,恰当又不恰当的类比Cora之于GNN就相当于MNIST之于机器学习. 有关Cora的介绍网上一搜一大把我就不赘述了,这里 ...

  6. Word转PDF的VBA脚本

    将以下内容复制粘贴在一个txt中,修改txt后缀为".vbs" On Error Resume Next Const wdExportFormatPDF = 17 Set oWor ...

  7. Git远程操作详解(clone、remote、fetch、pull、push)

    https://blog.csdn.net/u013374164/article/details/79091677 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多 ...

  8. 「CF662C」 Binary Table

    「CF662C」 Binary Table 题目链接 题目所给的 \(n\) 很小,于是我们可以考虑这样一种朴素做法:暴力枚举第 \(i\) 行是否翻转,这样每一行的状态就确定了,这时取每一列 \(0 ...

  9. Jmeter常见报错信息: ERROR - jmeter.protocol.http.proxy.ProxyControl: Could not initialise key store java.io.IOException: Cannot run program "keytool"

    JMeter 2.10 用的新方法来录制HTTPS请求Java 7. 录制的过程中会碰到一些问题或者报错,就目前碰到的,做出一些总结. ERROR - jmeter.protocol.http.pro ...

  10. session过期跳转到登陆页面并解决跳出iframe问题

    首先,先转载如下这篇博主写的关于后台系统使用iframe不能跳出的问题,地址:https://blog.csdn.net/xiaocen99/article/details/38521649 在ifr ...