flex布局-20201028
在flex容器上设置的(即父元素上设置);
- flex-direction属性决定主轴的方向(即项目的排列方向)。
flex-direction: row | row-reverse | column | column-reverse;
//row(默认值):主轴为水平方向,起点在左端。
//row-reverse:主轴为水平方向,起点在右端。
//column:主轴为垂直方向,起点在上沿。
//column-reverse:主轴为垂直方向,起点在下沿。
- flex-wrap属性定义,如果一条轴线排不下,如何换行。默认情况下,项目都排在一条线(又称"轴线")上。
flex-wrap: nowrap | wrap | wrap-reverse;
//nowrap(默认):不换行。
//wrap:换行,第一行在上方。
//wrap-reverse:换行,第一行在下方。
- flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
flex-flow: <flex-direction> || <flex-wrap>;
//flex-wrap: row nowrap;
- justify-content属性定义了项目在主轴上的对齐方式。
justify-content: flex-start | flex-end | center | space-between | space-around;
//flex-start(默认值):左对齐;所有项目左对齐,项目之间无间隔,项目与容器右侧有间隔;
//center: 居中;所有项目居中对齐,项目之间无间隔,项目左右两侧与容器有间隔,且左右间隔相等;
//flex-end:右对齐;所有项目右对齐,项目之间无间隔,项目左侧与容器有间隔;
//space-between:两端对齐,项目之间的间隔都相等;所有项目居中,项目左右两侧与容器无间隔,项目之间有间隔,项目之间的间隔相等;
//space-around:每个项目两侧的间隔相等;所以,项目之间的间隔比项目与边框的间隔大一倍;所有项目居中,项目左右两侧与容器有间隔,项目之间有间隔,项目之间的间隔相等(若最小间隔记为1,那么项目左侧与容器间隔为1,项目之间间隔为2,项目右侧与容器间隔为1);
- align-items属性定义所有项目在交叉轴上如何对齐。
align-items: flex-start | flex-end | center | baseline | stretch;
//flex-start:所有项目与交叉轴的起点上对齐。
//flex-end:所有项目与交叉轴的终点下对齐。
//center:所有项目与交叉轴的中点居中对齐。
//baseline: 所有项目与自身项目的第一行文字基线对齐。
//stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。若设置了高度,则类似于flex-start;
- align-content属性定义了多根主轴的垂直对齐方式。如果项目只有一根主轴,该属性不起作用。
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
//flex-start:所有主轴与交叉轴的起点上对齐。所有主轴上对齐,主轴之间无间隔,主轴与容器上侧无间隔,主轴与容器下侧有间隔;
//flex-end:所有主轴与交叉轴的终点下对齐。所有主轴下对齐,主轴之间无间隔,主轴与容器上侧有间隔,主轴与容器下侧无间隔;
//center:所有主轴与交叉轴的中点居中对齐。所有主轴居中对齐,主轴之间无间隔,主轴上下两侧与容器有间隔,且上下间隔相等;
//space-between:与交叉轴两端对齐,主轴之间的间隔平均分布。所有主轴居中对齐,主轴上下两侧与容器有间隔,主轴之间有间隔,主轴之间间隔及主轴上下两侧与容器间隔相等;
//space-around:每根主轴两侧的间隔都相等。所以,主轴之间的间隔比主轴与边框的间隔大一倍。所有主轴居中对齐,主轴上下两侧与容器无间隔,主轴之间有间隔,主轴之间间隔相等(若最小间隔记为1,那么主轴上侧与容器间隔为1,主轴之间间隔为2,主轴下侧与容器间隔为1);
//stretch(默认值):主轴占满整个交叉轴。所有主轴上对齐,主轴之间有间隔,主轴与容器上侧无间隔,主轴与容器无侧有间隔,主轴之间间隔相等(因为所有主轴上对齐,且主轴之间间隔相等,所以最后一条主轴与容器下侧还是会有间隔,但那间隔是由于每个主轴之间间隔产生的);
在flex项目上设置的;
- order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。
order: <integer>;//整数;
//order: 1;
- flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。 //如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。
flex-grow: <number>;//数字,可为浮点小数?;
//flex-grow: 1;
- flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。//如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。负值对该属性无效。
flex-shrink: <number>;//数字,可为浮点小数?;
//flex-shrink: 1;
- flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间,默认为auto。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。//它可以设为跟width或height属性一样的值(如:350px),则项目将占据固定空间。
flex-basis: <length> | auto;
//flex-basis: auto;
- flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。//该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。//建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
flex: none | [ <flex-grow> <flex-shrink> <flex-basis> ];
//flex: 0 1 auto;
- align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。//该属性可能取6个值,除了auto,其他都与align-items属性完全一致。
align-self: auto | flex-start | flex-end | center | baseline | stretch;
//align-self: auto;
简单的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>flex布局</title>
<style>
.flex-container {
width: 700px;
height: 800px;
border: 1px solid rgb(255, 255, 0);
display: flex;
flex-direction: row;
flex-wrap: wrap;
/* flex-flow: row nowrap; */
justify-content: flex-start;
align-items: stretch;
align-content: flex-start;
}
.flex-item {
width: 100px;
height: 100px;
border: 1px solid rgb(255, 0, 0);
}
.flex-item:nth-child(1) {
width: 100px;
height: 100px;
border: 1px solid rgb(0, 255, 0);
}
.flex-item:nth-child(3) {
width: 200px;
height: 100px;
border: 1px solid rgb(0, 0, 255);
font-size: 37px;
}
.flex-item:nth-child(5) {
order: 0;
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
flex: 0 1 auto;
align-self: auto;
}
.flex-item:nth-child(7) {
width: 100px;
height: 200px;
border: 1px solid rgb(0, 0, 255);
font-size: 42px;
}
.flex-item:nth-child(15) {
width: 100px;
height: 200px;
border: 1px solid rgb(0, 255, 255);
font-size: 35px;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item">1</div>
<div class="flex-item">2</div>
<div class="flex-item">3</div>
<div class="flex-item">4</div>
<div class="flex-item">5方</div>
<div class="flex-item">6</div>
<div class="flex-item">7</div>
<div class="flex-item">8</div>
<div class="flex-item">9</div>
<div class="flex-item">10</div>
<div class="flex-item">11</div>
<div class="flex-item">12</div>
<div class="flex-item">13</div>
<div class="flex-item">14</div>
<div class="flex-item">15</div>
<div class="flex-item">16</div>
<div class="flex-item">17</div>
<div class="flex-item">18</div>
<div class="flex-item">19</div>
<div class="flex-item">20</div>
<div class="flex-item">21</div>
<div class="flex-item">22</div>
<div class="flex-item">23</div>
<div class="flex-item">24</div>
<div class="flex-item">25</div>
<div class="flex-item">26</div>
<div class="flex-item">27</div>
<div class="flex-item">28</div>
<div class="flex-item">29</div>
</div>
</body>
</html>

flex布局-20201028的更多相关文章
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- Flex 布局教程:实例篇
该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...
- 在移动端中的flex布局
flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局, 弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...
- css flex布局
关于flex布局的一些简单用法 效果(下图) 实现代码: <!--html--> <div class="wrap"> <div class=&quo ...
- FLEX布局的一些问题和解决方法
前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的 ...
- CSS之flex布局
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- flex布局示例
来自:授权地址 作者:水牛01248 几个横排元素在竖直方向上居中 display: flex; flex-direction: row;//横向排列 align-items: center;//垂直 ...
- 【转】Flex 布局语法教程
网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
- [flex布局]-flex教程
简介:2009年,W3C提出了一种新的方案----Flex布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能. Flex布局是什 ...
- flex布局
一,啥是flex? 1.Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.任何一个容器都可以指定为Flex布局. .box{ displa ...
随机推荐
- [转帖]etcd网络模块解析
https://www.cnblogs.com/luohaixian/p/17509742.html 1. RaftHttp模块介绍 在etcd里raft模块和网络模块是分开的,raft模块主要负责实 ...
- [转帖]如何通过shell脚本对一个文件中的所有数值相加并求和
https://developer.aliyun.com/article/886170?spm=a2c6h.24874632.expert-profile.255.7c46cfe9h5DxWK 1.背 ...
- 使用TFS CI 又想保留服务运行状态的简单方法
最近公司使用TFS-CI的方式定期部署测试环境, 但是发现TFS-CI 运行完之后会清理agent所在的测试环境. 运行的进程都会被killed 1. 第一种方法: 本来第一反应 是使用systemd ...
- fasthttp 中如何使用 linux 系统调用 `sendfile`
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 接上一篇:fasthttp 中如何使用Transfer-E ...
- 修改windows电脑键盘按键映射
改键的需求 买了一把61键的小键盘,有些按钮没有,比如Home.End.四个方向键,这些键需要按Fn+XX来实现,所以上网查了一下键盘按键修改的方法,即把按键给改了,比如把右边的Ctrl改成方向键. ...
- 手撕Vue-构建Vue实例
前言 要想使用Vue必须先创建Vue的实例, 创建Vue的实例通过new来创建, 所以说明Vue是一个类, 所以我们要想使用自己的Vue, 就必须定义一个名称叫做Vue的类. 只要创建好了Vue的实例 ...
- 知识图谱项目实战(一):瑞金医院MMC人工智能辅助构建知识图谱--初赛实体识别【1】
1.技术背景&赛题介绍: A Labeled Chinese Dataset for Diabetes中文糖尿病标注数据集详情请见. 数据集链接:瑞金医院MMC人工智能辅助构建知识数据源:知识 ...
- 将Windows系统设置为NTP服务器之NetTime
之前写过一个将Windows系统设置NTP服务器的随笔,是通过修改Windows的注册表来实现NTP服务器,现在有个更简单的方式,安装一个小插件即可将Windows设置为NTP服务器. 插件 NetT ...
- 多路转接高性能IO服务器|select|poll|epoll|模型详细实现
前言 那么这里博主先安利一下一些干货满满的专栏啦! Linux专栏https://blog.csdn.net/yu_cblog/category_11786077.html?spm=1001.2014 ...
- U390630 分考场题解
题目链接:U390630 分考场 本题来自于2019年蓝桥杯国赛的题.在洛谷上也被标为了假题.原因是首先官方在需要输出浮点数的情况下,并没有开启spj,并且官方所给的数据当中,总有一两个数据以不知道到 ...