账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    css中使用flex布局让10个元素分两行显示的问题
    26
    0

    我在使用弹性盒子布局的时候遇到一个问题,我有10个元素,想分成两行显示。但是我不想固定每个元素的宽度,我的代码如下,该如何修改呢。

    <div class="mall-sell item-box">                
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>    
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>    
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>    
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>        
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>    
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>    
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>    
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>
            <div class="mall_sell-item">
                <img src="sell_img.jpd">
                <p>Hello</p>
            </div>                                    
        </div>
    

    css代码如下:

    .mall-sell {
        width: 100%;
        overflow: hidden;
        display: flex;
        flex: 1;
        flex-wrap: wrap;    
        position: relative;
    }
    .mall-sell .mall_sell-item {        
        flex: 1;
        float: left;
        position: relative;
        height: 1.68rem;
        line-height: 1.68rem;
        text-align: center;
        vertical-align: middle;
        margin-top: 0.266666rem;
    }
    .mall-sell .mall_sell-item img {
        display: block;
        width: 1.2rem;
        height: 1.2rem;
        line-height: 0.146666rem;
        text-align: center;
        background-color: rgb(210,216,221);
    }
    .mall-sell .mall_sell-item p {
        float: right;
        width: 1.36rem;
        height: 0.333333rem;
        line-height: 0.333333rem;
        font-family: PingFang-SC-Regular;
        @include font-dpr(13px);
        font-size: 0.346666rem;
        text-align: center;
    }
    

    我现在是第一行显示7个,第二行显示剩余三个,不知道该怎么改。
    谢谢

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 尽⊙欢 普通会员 1楼

      在CSS中,使用flex布局让10个元素分两行显示的问题通常涉及到一些CSS的属性和语法。以下是一些可能的解决方案:

      1. 使用display:flex属性可以让我们使用百分比作为元素的宽度。这意味着元素将占据其父容器的100%宽度。你可以通过将display设置为flex或inline-block来实现这一点。例如:

      css .container { display: flex; }

      1. 使用justify-content:justify-content属性可以让我们在容器的元素之间对齐。例如,如果你想要让第一个元素放在容器的左边,你可以这样做:

      css .container { display: flex; justify-content: flex-start; }

      1. 使用align-items:align-items属性可以让我们在容器的元素顶部或底部对齐。例如,如果你想要让第一个元素放在容器的顶部,你可以这样做:

      css .container { display: flex; align-items: flex-start; }

      1. 使用align-content:align-content属性可以让我们在容器的元素中间对齐。例如,如果你想要让第一个元素放在容器的中间,你可以这样做:

      css .container { display: flex; align-content: center; }

      1. 使用flex-wrap:flex-wrap属性可以让我们让元素在容器中换行。你可以通过将flex-wrap设置为wrap或wrap-reverse来实现这一点。例如:

      css .container { display: flex; flex-wrap: wrap; }

      1. 使用flex-wrap:flex-wrap属性可以让我们让元素在容器中换行。你可以通过将flex-wrap设置为nowrap或nowrap-reverse来实现这一点。例如:

      css .container { display: flex; flex-wrap: nowrap; }

      以上是一些可能的解决方案,你可以根据你的具体需求和浏览器的兼容性来选择最适合你的方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部