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 ...
随机推荐
- [转帖]jmeter之foreach循环控制器-03篇
上篇我们通过正则表达式获取到了一组数据,那么怎么来用呢?下面就用foreach控制器来使用结果,如下图所示 然后再foreach控制器里添加要循环的请求,我们模拟百度搜索,value填入${id} 然 ...
- 【转帖】SQUID TIME_WAIT值过高引起的服务器被拖慢
https://www.diewufeiyang.com/post/895.html 查看TCP的连接状态值: # netstat -n | awk '/^tcp/ {++S[$NF]} END {f ...
- [转帖]021系统状态检测命令sosreport
https://www.cnblogs.com/anyoneofus/p/16467677.html sosreport命令用于收集系统配置及架构信息并输出诊断文档.
- Redis lua脚本简要学习
Redis lua脚本简要学习 背景 上周督促客户从Windows平台升级到了Linux平台. redis一周相安无事. 但是这周一突然又出现了卡断和慢的情况. 只能继续进行分析. 分析思路 现场日志 ...
- [转帖]使用Transformers推理
https://github.com/ymcui/Chinese-LLaMA-Alpaca/wiki/%E4%BD%BF%E7%94%A8Transformers%E6%8E%A8%E7%90%86 ...
- Spring 应用合并之路(一):摸石头过河 | 京东云技术团队
公司在推进降本增效,在尝多种手段之后,发现应用太多,每个应用都做跨机房容灾部署,则最少需要 4 台机器(称为容器更合适).那么,将相近应用做一个合并,减少维护项目,提高机器利用率就是一个可选方案. 经 ...
- Ubuntu编译Xilinx的u-boot
博主这里的是Ubuntu20.04LTS+Vivado2017.4+ZedBoard 注意:本文使用的环境变量导入方法是临时的,只要退出当前终端或者使用其他终端就会失效,出现异常问题,请随时expor ...
- DES加密和base64加密
DES简介:参考知乎 https://www.zhihu.com/question/36767829 和博客https://www.cnblogs.com/idreamo/p/9333753.html ...
- Walrus 0.5发布:重构交互流程,打造开箱即用的部署体验
开源应用管理平台 Walrus 0.5 已于近日正式发布! Walrus 0.4 引入了全新应用模型,极大程度减少了重复的配置工作,并为研发团队屏蔽了云原生及基础设施的复杂度.Walrus 0.5 在 ...
- Java并发编程面试题
Synchronized 用过吗,其原理是什么? Synchronized是jvm实现的一种互斥同步访问方式,底层是基于对象的监视器monitor实现的. 被synchronize修饰的代码在反编译后 ...