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 ...
随机推荐
- [转帖]TiDB 环境与系统配置检查
https://docs-archive.pingcap.com/zh/tidb/v6.0/check-before-deployment 本文介绍部署 TiDB 前的环境检查操作,以下各项操作按优先 ...
- 【转帖】BGP:全穿透,半穿透,静态代播有什么区别
一. 什么是BGP二. 具体实现方案2.1BGP的优点2.2 真伪BGP在使用效果上有什么差异2.2.1 真BGP实现了用户最佳路径的自动选择 ...
- 【转帖】PyCharm---Django简单例子--基础1
https://www.cnblogs.com/kllay/p/7286701.html 环境: python 2.7 Django 1.11.2 查看版本:python -m django - ...
- 部分信创CPU算力与IntelCPU的简单比较
部分信创CPU算力与IntelCPU的简单比较 摘要 最近一直想查看一下国产和非国产的CPU的性能比较 从最开始学习研究 sysbench 到周五晚上开始学习 stress-ng 今天查看github ...
- pytest-logging打印日志
这里就不多介绍了,直接copy代码 日志等级分为下面五种 debug 详细信息,调试问题时使用 info 事情按预期工作 warning 警告问题 error 严重的问题,软件不能执行一些功能 cri ...
- vue如何在render函数中循环(3)
h函数的三个参数 第一个参数是必须的. 类型:{String | Object | Function} 一个 HTML 标签名.一个组件.一个异步组件.或一个函数式组件. 是要渲染的html标签. 第 ...
- 使用Visual Studio调试 .NET源代码
前言 在我们日常开发过程中常常会使用到很多其他封装好的第三方类库(NuGet依赖项)或者是.NET框架中自带的库.如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调 ...
- NetCore高级系列文章01---创建项目及配置文件
.NET Core是适用于 Windows.Linux 和 macOS 的免费.开源托管的计算机软件框架,作为.NET开发人员,全面拥抱.NetCore将成为趋势. 本系列文章将分为两大部分讲解.Ne ...
- 设计模式学习-使用go实现迭代器模式
迭代器模式 定义 优点 缺点 适用范围 代码实现 参考 迭代器模式 定义 迭代器模式(Iterator Design Pattern),也叫作游标模式(Cursor Design Pattern). ...
- 21.9 Python 使用Selenium库
Selenium是一个自动化测试框架,主要用于Web应用程序的自动化测试.它可以模拟用户在浏览器中的操作,如打开网页.点击链接.填写表单等,并且可以在代码中实现条件判断.异常处理等功能.Seleniu ...