justify-content与align-items解析

本文深入解析Flex布局中的justify-content和align-items属性,详细说明了不同属性值如何影响元素在容器中的排列方式,包括从左到右、从上到下、居中、间距均匀等多种布局效果。

justify-content

justify-content是flex布局中的一个属性,用来调整container中的items布局

  • flex-start (default): 每个item从起点开始依次排布
  • flex-end: 每个item从尾部开始依次向起点排布
  • center: items沿中心排布
  • space-between: items从左到右依次排布,第一个item在起点,最后一个item在终点
  • space-around: items从左到右间隔相同距离排布
  • space-evenly: items从左到右任意连个相邻item的距离与第一个item距起点的距离以及最后一个item距终点的距离都相等

从上到下效果如图:
在这里插入图片描述

align-items

align-item与justify-content相似,也具有多个属性值

  • flex-start: 每个item上边缘沿着container的上边缘线分布
  • flex-end: 每个item下边缘沿着container的下边缘线分布
  • center: 每个item沿着container的水平中心线分布
  • baseline: 每个item沿着它们的基准线分布
  • stretch (default): 每个item延长自己至与container等高分布

从上到下效果如图
在这里插入图片描述

注意当flex-direction: colum时,注意方向的变化

<div v-show="imgPanelVisible" style="flex: 1 0 auto;height: 238px;color: #fff;padding: 10px 10px 0px 10px;background-color:#206e3c;isolation: isolate;display: flex;flex-direction: column;text-align: center;font-size: 12px;"> <div style="flex: 1 0 auto;display: flex;flex-direction: row;justify-content: flex-start;"> <div class="num0" style="flex: 0 0 auto;display: flex;flex-direction: column;justify-content: center;width: 28px;border: 1px solid #fff;border-right: 0px;position: relative;clip-path: polygon(60% 0, 100% 0, 100% 100%, 60% 100%, 0% 50%);background-color: #fff;"> <div style="margin-right: -8px;">0</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 3</div> <div style="flex: 1;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 2</div> <div style="flex: 1;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 1</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 6</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 5</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 4</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 9</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 8</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 7</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 12</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 11</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 10</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 15</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 14</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 13</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 18</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 17</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 16</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 21</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 20</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 19</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 24</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 23</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 22</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 27</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 26</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 25</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 30</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 29</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 28</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 33</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 32</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 31</div> </div> <div style="flex: 1;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 36</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;border-bottom: 0px;display: flex;align-items: center;justify-content: center;background-color: #2b2b2b;"> 35</div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-right: 0px;display: flex;align-items: center;justify-content: center;background-color:#d81616;"> 34</div> </div> <div style="flex: 0 0 23px;display: flex;flex-direction: column;"> <div style="flex: 1 0 auto;border: 1px solid #fff;border-bottom: 0px;display: flex;align-items: center;justify-content: center;"> <span style=" transform: rotate(270deg);transform-origin: center;display: inline-block;">3R</span> </div> <div style="flex: 1 0 auto;border: 1px solid #fff;border-bottom: 0px;display: flex;align-items: center;justify-content: center;"> <span style=" transform: rotate(270deg);transform-origin: center;display: inline-block;">2R</span> </div> <div style="flex: 1 0 auto;border: 1px solid #fff;display: flex;align-items: center;justify-content: center;"> <span style=" transform: rotate(270deg);transform-origin: center;display: inline-block;">1R</span> </div> </div> </div> <div style="flex: 0 0 70px;display: flex;flex-direction: row;"> <div style="flex:0 0 29px;"></div> <div style="flex: 1;border: 1px solid #fff;border-top: 0px;border-right: 0px;display: flex;flex-direction: column;justify-content: center;"> <div style="flex: 1 0 auto;display: flex;flex-direction: row;align-items: center;border-bottom: 1px solid #fff;justify-content: center;"> <div style="border: 1px solid #fff;padding: 5px 25px;">一区</div> </div> <div style="flex: 0 0 30px;display: flex;flex-direction: row;"> <div style="flex: 1;border-right: 1px solid #fff;display: flex;flex-direction: row;align-items: center;justify-content: center;"> 1-18</div> <div style="flex: 1;display: flex;flex-direction: row;align-items: center;justify-content: center;"> 单</div> </div> </div> <div style="flex: 1;border: 1px solid #fff;border-top: 0px;border-right: 0px;display: flex;flex-direction: column;justify-content: center;"> <div style="flex: 1 0 auto;display: flex;flex-direction: row;align-items: center;border-bottom: 1px solid #fff;justify-content: center;"> <div style="border: 1px solid #fff;padding: 5px 25px;">二区</div> </div> <div style="flex: 0 0 30px;display: flex;flex-direction: row;"> <div style="flex: 1;border-right: 1px solid #fff;display: flex;flex-direction: row;align-items: center;justify-content: center;"> <div style="background-color:#d81616;color: #d81616;border: 1px solid #fff;padding: 3px 13px;"> 红</div> </div> <div style="flex: 1;display: flex;flex-direction: row;align-items: center;justify-content: center;"> <div style="background-color: #2b2b2b;color: #2b2b2b;border: 1px solid #fff;padding: 3px 13px;"> 黑</div> </div> </div> </div> <div style="flex: 1;border: 1px solid #fff;border-top: 0px;display: flex;flex-direction: column;justify-content: center;"> <div style="flex: 1 0 auto;display: flex;flex-direction: row;align-items: center;border-bottom: 1px solid #fff;justify-content: center;"> <div style="border: 1px solid #fff;padding: 5px 25px;">三区</div> </div> <div style="flex: 0 0 30px;display: flex;flex-direction: row;"> <div style="flex: 1;border-right: 1px solid #fff;display: flex;flex-direction: row;align-items: center;justify-content: center;"> 双</div> <div style="flex: 1;display: flex;flex-direction: row;align-items: center;justify-content: center;"> 19-36</div> </div> </div> <div style="flex:0 0 22px;"></div> </div> <div style="flex: 0 0 60px;display: flex;flex-direction: row;align-items: center;"> <div style="flex: 0 0 auto;background-image: url(./src/assets/img/group_lp/btn_back.png);width: 35px;height: 35px;margin-right: 3px;"> </div> <div style="flex: 0 0 auto;background-image: url(./src/assets/img/group_lp/btn_clear.png);width: 35px;height: 35px;margin-right: 3px;"> </div> <div style="flex: 0 0 auto;background-image: url(./src/assets/img/group_lp/btn_x2.png);width: 35px;height: 35px;margin-right: 3px;"> </div> <div style="flex: 1 1 auto;"></div> <div style="flex: 0 0 auto;background-image: url(./src/assets/img/group_lp/btn_chip.png);width: 35px;height: 35px;margin-right: 8px;display: flex;flex-direction: row;align-items: center;justify-content: center;"> 10</div> <div style="flex: 0 0 auto;background-image: url(./src/assets/img/group_lp/btn_chip.png);width: 35px;height: 35px;margin-right: 8px;display: flex;flex-direction: row;align-items: center;justify-content: center;"> 50</div> <div style="flex: 0 0 auto;background-image: url(./src/assets/img/group_lp/btn_chip.png);width: 35px;height: 35px;margin-right: 8px;display: flex;flex-direction: row;align-items: center;justify-content: center;"> 100</div> <div style="flex: 0 0 auto;background-image: url(./src/assets/img/group_lp/btn_chip.png);width: 35px;height: 35px;display: flex;flex-direction: row;align-items: center;justify-content: center;"> ?</div> <div style="flex: 1 1 auto;"></div> <div class="iconfont" style="flex: 0 0 auto;width: 45px;height: 35px;display: flex;flex-direction: row;align-items: center;justify-content: center;border: 1px solid white;border-radius:5px;font-size: 23px;"> </div> </div> </div> 请整理这里的css, display: flex;flex-direction: row;align-items: center;justify-content: center;不用整理 其他的整理到<style>
10-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hack Rabbit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值