【问题标题】:firefox flex doesn't grow for scrollbarfirefox flex 不会因滚动条而增长
【发布时间】:2017-06-15 15:17:03
【问题描述】:

我遇到了特定于 firefox (afaik) 的问题。

如果你有 chrome

flex: 0 0 auto;
overflow: auto;

当y方向溢出时,它占了滚动条的额外宽度,一切都很好。但在 Firefox 中,它没有考虑额外的宽度,它也会使内容在 x 方向上溢出。

我准备了一支笔来演示这个问题:

https://codepen.io/anon/pen/JEMyPm

火狐:

铬:

任何建议/解决方法都会很棒!

编辑:flex-grow: 1 (1 1 auto) 可以解决这个问题,这使得容器通过增长来响应它周围的额外空间。如果您不希望元素增长并且只与里面的内容一样宽怎么办?

【问题讨论】:

    标签: html css flexbox


    【解决方案1】:

    请使用flex: 1 1 auto 而不是0 0 auto,因为它根据其width/height 属性调整项目大小,但使其完全灵活,以便它们吸收沿主轴的任何额外空间。定义如下:

    .child {  
       flex: 1 1 auto;  
       width: 50px;  
       height: 50px;
       background: #000;
       color: #fff;  
       margin: 8px;  
       text-align: center;  
       line-height: 50px;  
       border: 3px solid #4d4d50;   
       border-radius: 2px; 
    }
    

    【讨论】:

    • 我知道 flex-grow: 1 可以解决问题,但我不希望它基于它周围的额外空间而增长,只有当里面的内容增长时!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2012-07-07
    • 2018-11-17
    相关资源
    最近更新 更多