美文网首页csscss
解决flex布局换行最后一行的元素无法靠左/上布局的简单方法

解决flex布局换行最后一行的元素无法靠左/上布局的简单方法

作者: Spinach | 来源:发表于2022-05-30 11:20 被阅读0次

问题:

当我们使用flex布局并设置自动换行时,最后一行的元素不会按照我们的预期靠左布局,如:

<view class="test">
    <view class="item">1</view>
    <view class="item">2</view>
    <view class="item">3</view>
    <view class="item">4</view>
    <view class="item">5</view>
</view>

css:

.test{
    width: 100%;
    background-color: blue;
    display: flex;
    //flex-direction: row;//横向排列,row是默认值
    //justify-content: space-around;//有换行不推荐使用弹性布局的对齐方式,否则最后一行元素会被挤到一起
    flex-wrap: wrap;
    
    .item{
        width: 22%;
        height: 100rpx;
        margin: 10rpx;
        background-color: red;
    }
}

结果:


image.png
需求:使"5"这个元素靠左布局

解决方法:给父元素增加一个伪元素,即:

.test{
        width: 100%;
        background-color: blue;
        display: flex;
        flex-wrap: wrap;
        &::after{
          flex: auto;
          content: "";
        }
    
        .item{
            width: 22%;
            height: 100rpx;
            margin: 10rpx;
            background-color: red;
            
        }
    }

结果:


image.png
同理,可实现纵向排列最后一行靠上排列:
.test{
        width: 100%;
        height: 450rpx;
        background-color: blue;
        display: flex;
        flex-direction: column;//纵向排列
        flex-wrap: wrap;
        &::after{
          flex: auto;
          content: "";
        }
    
        .item{
            height: 20%;
            margin: 10rpx;
            background-color: red;
            
        }
    }

image.png


可能会出现的问题:当子元素数量少无法占满父元素的宽度时,会出现以下问题:

image.png
要使“5”“6”两个元素靠左,且两列元素的间隔为之前设置的margin值,如何解决?
目前可实现的憨方法(遇到好方法就更新0.0):将现父元素test的width设为0(无法设置背景色,可在外部嵌套一层元素,在该元素上设置背景色)
image.png

相关文章

  • 解决flex布局换行最后一行的元素无法靠左/上布局的简单方法

    问题: 当我们使用flex布局并设置自动换行时,最后一行的元素不会按照我们的预期靠左布局,如: css: 结果: ...

  • margin-left:auto在flex中自动靠边

    flex布局中经常有其他元素靠左排列,最后一个元素靠右排列的设计。简单的在最后一个元素中添加margin-left...

  • flex布局,看完这篇都懂了

    flex布局 开启flex布局display:flex (独占一行)inline-flex(允许换行) 应用在fl...

  • flex布局换行后间隙问题

    问题描述今天遇到flex布局换行后产生间隙的问题,本来预期得到以下结果 得到如下结果: 解决方法其实解决方法很简单...

  • flex详解

    flex概念 flex布局是块级元素;inline-flex是行内元素不会换行 flex相关属性 flex-dir...

  • flex 布局 换行

    flex 布局 换行 两个一行 效果图:

  • flex记录

    教程:Flexbox 布局的最简单表单Flex 布局教程:语法篇Flex 布局教程:实例篇 父元素为 flex 布...

  • css3 flex布局 justify-content:spac

    flex布局最后一行左对齐 随着flex布局的流行,我们工作中也免不了用flex布局,在使用flex布局的时候,大...

  • Flex布局学习

    Flex布局方法 采用Flex布局的元素,称为Flex容器(flex container), 简称为容器,他的所有...

  • flex布局

    认识flex布局 flex布局(Flexible 布局,弹性布局)开启了flex布局的元素叫flex contai...

网友评论

    本文标题:解决flex布局换行最后一行的元素无法靠左/上布局的简单方法

    本文链接:https://www.haomeiwen.com/subject/kjloprtx.html