flex-item与overflow-x/y兼容问题

发布于 2022-09-07 08:23:03 字数 1423 浏览 13 评论 0

问题描述

flex-item(父元素flex定位,flex-item指其子元素)设置overflow-x: visible; overflow-y: auto后,x轴超出容器部分不被显示。这显然是不符合overflow的设定的,故想知道现象下的原因~

问题进阶

后经测试发现,flex-item只要任一轴设置过overflow值为非visible,则都会阻止超出容器的内容显示。故或许这是flex-item对overflow-x/y不支持,所以其只会生效其中一个值等~

测试例子


<!DOCTYPE html>
<html>
<head>
<meta name="description" content="overflow对flex-item的影响">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <div class='container'>
    <div class="menu-c">
      <div class="test"></div>
    </div>    
    <div class="main-c"></div>
  </div>
  </div>
</body>
</html>
  .container
  display flex
  height 200px
  .menu-c
    position relative
    flex-shrink 0
    width 40px
    background yellow
    /* display inline-block */
    /* overflow visible */
    overflow-y auto 
    overflow-x visible
    .test
      width 200px
      position absolute
      top 20px
      left 10px
      height 30px
      background black   

  .main-c
    flex 1 1 auto
    background blue
看例子需梯子,故代码加上
display inline-block是测试是否为bfc特性影响

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

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

发布评论

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

评论(2

锦欢 2022-09-14 08:23:03

你的代码跟flex没有关系
应该说是设置 overflow-y之后会影响x轴 同理overflow-x也会y轴
demo
css_overflow-x
css_overflow-y

时光磨忆 2022-09-14 08:23:03

clipboard.png

clipboard.png

同楼上所述,这是我在chrome里看到的(后者是计算后的属性)

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