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特性影响
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你的代码跟flex没有关系
应该说是设置
overflow-y
之后会影响x轴
同理overflow-x
也会y轴
demo
css_overflow-x
css_overflow-y
同楼上所述,这是我在chrome里看到的(后者是计算后的属性)