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

问题描述

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特性影响
阅读 4.4k
2 个回答
新手上路,请多包涵

clipboard.png

clipboard.png

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题