【发布时间】:2013-11-19 20:26:03
【问题描述】:
我需要创建一个水平布局,其中一个块占用所有可用空间,其他块缩小以适应其内容。
例如:
<div class="grid">
<div class="expand">Long text label</div>
<div class="shrink">Button</div>
</div>
一个更复杂的两行示例(一个实际的网格):
<div class="grid">
<div class="row">
<div class="shrink">...</div>
<div class="expand">...</div>
<div class="shrink">...</div>
<div class="shrink">...</div>
</div>
<div class="row">
<div class="shrink">...</div>
<div class="expand">...</div>
<div class="shrink">...</div>
<div class="shrink">...</div>
</div>
</div>
我的要求:
- 即使很短,大块也应该填满所有可用空间
- 小块应适合其内容
- 大块(通常是文本标签)可能是一个大于可用空间的单词,因此在这种情况下应将其截断
- 如果是多字,大块不应换行
- 小块不应环绕(尽管在多个按钮或图标的情况下,这可以通过每个组件制作一个块来解决)
- 支持多行(即列应对齐)
我的目标是 Android 和 iOS 智能手机。
我已尝试调整 this answer 中的代码,但无法使其适用于多行。此外,源代码必须是乱序的,这很令人困惑(尽管对我的用例来说并没有阻塞)。这是一个 jsfiddle:http://jsfiddle.net/k3W8L/
【问题讨论】:
标签: html css layout html-table grid-layout