美文网首页
flex之一列定宽一列自适应踩过的坑

flex之一列定宽一列自适应踩过的坑

作者: rain129 | 来源:发表于2018-02-24 11:53 被阅读58次

    首先我要实现的布局很简单,就是在父容器wrap里面放两个子元素left和right,left定宽200px,right的宽度让它自适应,如下图:


    image.png

    正常来说我们用flex布局很容易实现这个布局效果,代码如下:

    css代码

    .wrap{
        width:600px;
        height:500px;
        margin:0 auto;
        background: #ccc;
        display: flex;
    }
    .wrap .left{
        width:200px;
        height:400px;
        background:green;
        color:#fff;
        font-size: 30px;
        text-align: center;
    }
    .wrap .right{
        flex:1;
        height:400px;
        background:pink;
        color:#fff;
        font-size: 30px;
        text-align: center;
    }
    

    html代码

    <body>
        <div class="wrap">
            <div class="left">left</div>
            <div class="right">right</div>
        </div>
    </body>
    

    但是上面的代码会有一些问题,如果right中的文字太多或者font-size值设置过大,都会出现右侧right元素超出父元素,并且左侧left的定宽度会被压缩。如下图

    1.font-size设置过大


    image.png

    2.font-size正常,但内容过多


    image.png

    出现以上问题的原因不明,但是解决方案也很简单,在自适应的元素right上加上overflow: hidden就可以了

    .wrap{
        width:600px;
        height:500px;
        margin:0 auto;
        background: #ccc;
        display: flex;
    }
    .wrap .left{
        width:200px;
        height:400px;
        background:green;
        color:#fff;
        font-size: 30px;
        text-align: center;
    }
    .wrap .right{
        flex:1;
        height:400px;
        background:pink;
        color:#fff;
        font-size: 30px;
        text-align: center;
        overflow: hidden; //新添加的代码
    }
    
    image.png

    相关文章

      网友评论

          本文标题:flex之一列定宽一列自适应踩过的坑

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