弹性布局中,父元素宽度不固定,如何保证子元素横向滚动而不撑开父元素?

发布于 2022-09-06 23:23:39 字数 1499 浏览 11 评论 0

使用弹性布局,我本意是做成如下页面,右边盒子div2的宽度是屏幕剩下的宽度,里面的ul有很多的li,可以横向滚动。

clipboard.png

开始布局,代码如下

  • html
    <div class="wrap">
        <div class="div1"></div>
        <div class="div2">
            <ul>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </div>
    </div>
  • css
    .wrap{
        display: flex;
        width: 100%;
        height: 200px;
    }
    .div1{
        width: 500px;
        min-width: 500px;
        background: pink;
    }
    .div2{
        flex: 1;
        background: orange;
    }
    .div2 ul{
        width: 2000px;
        display: flex;
        overflow: scroll;
    }
    .div2 ul li{
        flex: 1;
        border: 1px solid red;
    }

结果做成了这样

clipboard.png

div2的宽度被子元素撑开了,浏览器屏幕的宽度也被撑大了。

有什么办法可以保证单屏,又可以让子元素横向滚动呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

昵称有卵用 2022-09-13 23:23:39

div2加overflow:scroll就行了,正常应该是div2宽度等于ul宽度2000,多出来的40应该是ul的margin。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文