【问题标题】:Is there a way to truncate (hide) a wide table-cell?有没有办法截断(隐藏)一个宽表格单元格?
【发布时间】:2012-04-16 23:04:48
【问题描述】:

我正在尝试实现一个跨越整个浏览器宽度的表格。

此表格包含 3 个表格单元格。 第一个和最后一个单元格是“固定的”。这意味着:它必须始终可见:浏览器窗口左边框的第一个单元格,浏览器窗口右边框的最后一个单元格。

第二个单元格(在中间)包含一个包含许多单元格和不同长度/宽度的表格。我们称这个表为“内容表”

所以它可能看起来像这样;

[第一个单元格] | [内容1|内容2|内容3|内容4] | [最后一个单元格]

问题是:“内容表”可能包含大量内容。因为“第一个单元格”和“最后一个单元格”必须始终可见,所以应该部分隐藏过大的“竞争表”。

最后,我需要像“溢出:隐藏”这样的东西,但这在表格单元格中不起作用。 (好像不行?)

我有一个小 jsfiddl 来显示问题:http://jsfiddle.net/thirtydot/YRgwB/3/

我从昨天开始就在解决这个问题 - 没有任何想法!

希望在这里得到任何帮助。

【问题讨论】:

  • sytle="overflow:hidden;" 在您的演示中不会有帮助。我只是要改变它..(虽然它不会有所作为,但令人困惑)
  • 对,它没有帮助 - 它应该向您展示我正在尝试做的事情。 >我只是要改变它..

标签: html css overflow tablelayout


【解决方案1】:

见:http://jsfiddle.net/thirtydot/YRgwB/6/

  • 我已将width:100%; table-layout:fixed; 添加到您的外部table
  • 我将divoverflow: hidden 包裹在您的“宽桌”周围。
  • 这适用于所有现代浏览器。
<table border="1" style="width:100%; table-layout:fixed;">
    <tr>
        <td>first cell</td>
        <td>
            <div style="overflow:hidden; border:1px solid red;">
                <table>
                    <tr>
                        <td style="min-width:90px;">lot</td>
                        <td style="min-width:90px;">of</td>
                        <td style="min-width:90px;">content</td>
                    </tr>
                </table>
            </div>
        </td>
        <td>last cell</td>
    </tr>
<table>

【讨论】:

  • 为什么我从昨天开始就在处理这个问题,而您的工作解决方案在一分钟内就完成了?我尝试使用表格布局......但是......我在“内容表格”中应用了这个,这是错误的。所以你的解决方案效果很好。非常感谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 2019-08-18
相关资源
最近更新 更多