【问题标题】:CSS FlexBox cropping content with min- sizesCSS FlexBox 以最小尺寸裁剪内容
【发布时间】:2013-07-17 07:37:05
【问题描述】:

我正在尝试让“FlexBox”列拉伸和挤压以填充水平空间,但以小尺寸进行水平滚动以避免裁剪其内容。

我所做的是创建一个容器元素,其布局超出了 flexbox 方向、方向等,具有 auto 溢出:

.container {
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */

    -webkit-box-pack: start;
    -moz-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;

    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;

    overflow:auto;
}

我有一个专栏:

.column {
    overflow:hidden;
    min-width:100px;
}

及栏目内容:

.column-content {
    min-width:200px;
}

这是 HTML:

<div class="container">

    <div class="column">
        <div class="column-content">...</div>
    </div>

    <div class="column">
        <div class="column-content">...</div>
    </div>

    <div class="column">
        <div class="column-content">...</div>
    </div>

    <div class="column">
        <div class="column-content">...</div>
    </div>

</div>

当您水平缩小视口时,列将一直缩小到 100 像素,即它们的最小宽度。但我希望他们做的不是缩小超过 200 像素,即他们的内容的最小宽度。

我无法将列的最小宽度设置得更高,因为我不知道这些列的内容会是什么样子,以及它们的最小宽度将是多少,因为不同的组件将被加载到那里。

这是一个说明:

http://plnkr.co/edit/CoIYdHXQVnAYzSp5m1tG?p=preview

有什么想法吗?

谢谢

【问题讨论】:

  • 您在这里使用 Flexbox 有什么特别的原因吗?
  • 只是在玩弹性盒子。但是还有另一种方法可以做到这一点吗? - 列增长到填充容器, - 不要水平裁剪其内容,而是填充高度并垂直滚动, - 容器滚动溢出, - 列数未指定??

标签: css flexbox


【解决方案1】:

表格显示属性更适合这个任务(并且有更好的浏览器支持):

http://cssdeck.com/labs/0jrgaysm

.container {
  display: table;
}

.column {
  overflow:hidden;
  min-width:100px;
  display: table-cell;
}

.column-content {
  min-width:200px;
}

【讨论】:

  • 有人可以确认一下是否正确?表格真的比 flexbox 更适合?
猜你喜欢
  • 2018-07-20
  • 2018-07-24
  • 2010-12-26
  • 1970-01-01
  • 2016-11-16
  • 2012-12-17
  • 1970-01-01
  • 2014-07-24
  • 1970-01-01
相关资源
最近更新 更多