CSS Flex布局完全指南 #flight.Archives002
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的更多相关文章
- css flex布局
关于flex布局的一些简单用法 效果(下图) 实现代码: <!--html--> <div class="wrap"> <div class=&quo ...
- CSS Grid 布局完全指南(图解 Grid 详细教程)
CSS Grid 布局是 CSS 中最强大的布局系统.与 flexbox 的一维布局系统不同,CSS Grid 布局是一个二维布局系统,也就意味着它可以同时处理列和行.通过将 CSS 规则应用于 父元 ...
- CSS flex 布局快速入门
以前已经学过flex了,一直没做笔记,现在做下笔记再回忆下. 首先,flex布局的迷之属性们,如果一知半解,机械记忆的话,那不到半个月基本忘光光.先感受一下这12个flex布局属性,是不是很“迷”人. ...
- 轻轻松松学CSS:Flex布局
Flex布局就是"弹性布局",它可以简便.完整.响应式地实现各种页面布局.引入弹性布局的目的,当页面需要适应不同的屏幕大小确保元素拥有恰当的布局方式,对一个容器中的子元素进行排列 ...
- css flex布局详解
来源:https://blog.csdn.net/liveinmylife/article/details/51838939 1,flex布局是个什么东西? 官方说法:Flex是Flexible Bo ...
- CSS Flex布局整理
Flex布局 display: flex; 将对象作为弹性伸缩盒展示,用于块级元素 display: inline-flex; 将对象作为弹性伸缩盒展示,用于行内元素 注意兼容问题: webkit内核 ...
- [Web 前端 ] 还在用浮动吗?CSS flex布局你了解多少?
cp from : https://blog.csdn.net/wwwxuewen/article/details/80859764 传统的布局:围绕盒子模型(border.margin.paddin ...
- CSS Flex布局属性整理
Flex布局 display: flex; 将对象作为弹性伸缩盒展示,用于块级元素 display: inline-flex; 将对象作为弹性伸缩盒展示,用于行内元素 注意兼容问题: webkit内核 ...
- CSS flex 布局学习笔记
写在前面 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局. 采用 Flex 布局的元素 ...
随机推荐
- 图的存储与遍历C++实现
1.图的存储 设点数为n,边数为m 1.1.二维数组 方法:使用一个二维数组 adj 来存边,其中 adj[u][v] 为 1 表示存在 u到 v的边,为 0 表示不存在.如果是带边权的图,可以在 a ...
- C# 启动项目直接修改电脑的日期格式
启动界面添加 1.引用添加 using System.Runtime.InteropServices; 2.方法添加 [DllImport("kernel32.dll", Entr ...
- Tomcat:tomcat部署war包配置SSL访问
Linux-CentOS7部署 war放置 war放到tomcat的webapps目录内 修改配置 修改tomcat的server.xml文件 HTTP: 找到Connector元素,修改端口 HTT ...
- 26 bash shell中的信号
当没有任何捕获时,一个交互式 Bash Shell 会忽略 SIGTERM(发送到进程的 TERM 信号用于要求进程终止) 和 SIGQUIT(当用户要求进程执行 core dump 时,QUIT 信 ...
- mysql被收购 用mariadb (转)
~]# systemctl start mysql.service 要启动MySQL数据库是却是这样的提示 Failed to start mysqld.service: Unit not found ...
- tf-gpu报错:ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
错误1:ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory 一般这种问题 ...
- CG-CTF Our 16bit Games
一.放到xp上面跑,发现是一个图形界面的飞机游戏...估计是分数到达多少,然后就可以输出flag. 打开ida,一脸懵逼,主要这玩意16位,我直接静态调试了 发现很多汇编代码,有点懵逼,在最下方的地方 ...
- 洛谷P5463 小鱼比可爱(加强版) 题解
写博客不易,来玩会? 这道题我和dalao们的做法略有不同,我用的是归并排序做法qwq 归并排序求逆序对大家应该很清楚了,我这里就来讲讲如何用归并排序求出这道题的答案 让我们先观察一下规律 举个栗子, ...
- 传统.NET 4.x应用容器化体验(2)
上一篇我们基于Windwos Server 2019 with Container初步跑了一个ASP.NET WebForm应用程序.本篇我们来自己编译部署一个ASP.NET MVC应用程序到Wind ...
- Vue全局弹窗:一次注册,全局可弹
Vue全局弹窗 今天来搞一个全局弹窗,不用每个文件都引入,只在main.js里作为全局原型引入就好了 先新建弹窗组件 toast.vue <template></template&g ...