当前位置:网站首页>flex布局中使用flex-wrap实现换行
flex布局中使用flex-wrap实现换行
2022-08-02 00:19:00 【m0_67392811】
最近做个项目,其中有个样式是换行布局,作为样式渣渣的我一开始不会,只能查资料,然后摆平了它.今天得空了,简要记录一下,方便后面小伙伴布局使用.
参考资料 flex-wrap
开始样式
<div class="planWrap">
<div class="content planItem">1</div>
<div class="content planItem">2</div>
<div class="content planItem">3</div>
<div class="content planItem">4</div>
<div class="content planItem">5</div>
<div class="content planItem">6</div>
</div>
<style>
.content {
background: red;
line-height:50px;
height: 50px;
width: 50px;
text-align: center;
margin-top:5px
}
.planWrap {
width: 160px;
height: 200px;
border: 1px solid;
display:flex;
}
</style>
flex-wrap 实现换行
<style>
.planWrap {
width: 160px;
height: 200px;
border: 1px solid;
display:flex;
flex-wrap: wrap;
}
</style>
说明:
1.flex-wrap 属性指定 flex 元素单行显示还是多行显示,该属性接受以下取值:
- nowrap: 元素都放在一行,也是默认属性值;
- wrap:元素放到多行;
- wrap-reverse: 和 wrap 的行为一样,但是 cross-start 和 cross-end 互换。(如下图展示更直观)
2.上面有提及wrap-reverse,展示一下wrap-reverse的样式
<style>
.planWrap {
width: 160px;
height: 200px;
border: 1px solid;
display:flex;
flex-wrap: wrap-reverse;
}
</style>
垂直换行 flex-flow 简写属性 flex-flow
上面的都是行分布,现在我想要垂直分布且换行
<style>
.planWrap {
width: 160px;
height: 200px;
border: 1px solid;
display:flex;
flex-wrap: wrap;
flex-direction: column;
}
</style>
通过flex-direction
指定排列方向,flex-wrap
制定是否换行;不过这样写多少有点麻烦,可以使用flex-flow
来进行简写
// 第一个指定的值为 flex-direction ,第二个指定的值为 flex-wrap.
flex-flow: flex-direction flex-wrap
<style>
.planWrap {
width: 160px;
height: 200px;
border: 1px solid;
display:flex;
flex-flow:column wrap;
}
</style>
3个一行变为2个一行 Flex属性的简写
现在我不仅希望能换行,我还希望能2个一行
.planWrap {
width: 160px;
height: 200px;
border: 1px solid;
display:flex;
flex-flow:row wrap;
}
.planItem {
flex: 50%;
}
这里面使用了flex属性,flex可以指定元素占据的百分比或者固定宽度,具体可以见上面文档,就不详细说明了.
nth-child 指定一些元素特定属性
现在我希望两个div直接间距10px,但是后面一个元素没有间距
.planItem {
flex: 40%;
margin-right: 10px;
}
.planItem:nth-child(2n) {
margin-right: 0px;
}
首先指定了margin-right
,所以我将flex
百分比调小,然后使用了nth-child
修改偶数位的元素.
完事的结束语 ^ _ ^
到这为止,我需要的样式就出现了,希望这篇简单的文章能为之后需要分行布局的小伙伴提供一些借鉴的地方.
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
Debian侵犯Rust商标,妥协改名还是会得到豁免?
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements
MLX90640 红外热成像仪测温模块开发笔记(完整版)
期货开户手续费加一分是主流
[21-Day Learning Challenge] A small summary of sequential search and binary search
攻防世界-web-Training-WWW-Robots
html+css+php+mysql实现注册+登录+修改密码(附完整代码)
ICML 2022 || 局部增强图神经网络GNN,在 GCN 和 GAT基础上 平均提高了 3.4% 和 1.6%
flv.js解析与使用
go笔记记录——channel
随机推荐
请教一下本网站左下角的动漫人物是怎么做的?
[HCIP] BGP Small Experiment (Federation, Optimization)
21.数据增强
管理基础知识9
Knowing the inorder traversal of the array and the preorder traversal of the array, return the postorder history array
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements
Web开发
Redis和MySQL数据一致性问题,有没有好的解决方案?
期货开户调整交易所保证金标准
MLX90640 红外热成像仪测温传感器模块开发笔记(十) 成果展示-红眼睛相机
测试点等同于测试用例吗
攻防世界-web-Training-WWW-Robots
Redis - message publish and subscribe
C语言实验九 函数(一)
期货开户是否有资金门槛?
Microsoft PC Manager V2.1 beta version officially released
MInIO入门-03 秒传+大文件分片上传
go笔记——map
JS中的防抖和节流
datagrip连接mysql数据库