表隐藏的溢出?

时间:2013-05-13 21:39:05

标签: javascript css html-table overflow

我在这里要做的是在div中创建一个带有Javascript(成功)的表,其中最大宽度为300px

现在,如果我的表格宽度超过300px,我希望隐藏溢出,但是即使我设置{{1},表格也会将其宽度缩小到每次300px }是一个不同的宽度:

<td>

所以我使用单元格的高度为50px,宽度为100px,因为我的div的最大宽度为300px,我应该只看到2个半单元格,然后其余部分被隐藏,但事实并非如此。

我知道这可能是一个基本错误,但我不知道。

2 个答案:

答案 0 :(得分:0)

在表格单元格上使用min-width

演示: http://jsfiddle.net/jUqvj/

快速示例:

CSS:

div {
    max-width: 300px;
    border: 1px solid #f00;
    overflow: hidden;
}
#table1 td {
    min-width: 100px;
    border: 1px solid #0ff;
}
#table2 td {
    width: 100px; /* here it's not effective as desired */
    border: 1px solid #0ff;
}

HTML:

<pre>With min-width on table cells</pre>
<div>
    <table id="table1">
        <tr>
            <td>Col1</td>
            <td>Col2</td>
            <td>Col3</td>
            <td>Col4</td>
        </tr>
        <tr>
            <td>Col1</td>
            <td>Col2</td>
            <td>Col3</td>
            <td>Col4</td>
        </tr>
        <tr>
            <td>Col1</td>
            <td>Col2</td>
            <td>Col3</td>
            <td>Col4</td>
        </tr>
    </table>
</div>
<hr><br>
<pre>Without min-width on table cells</pre>
<div>
    <table id="table2">
        <tr>
            <td>Col1</td>
            <td>Col2</td>
            <td>Col3</td>
            <td>Col4</td>
        </tr>
        <tr>
            <td>Col1</td>
            <td>Col2</td>
            <td>Col3</td>
            <td>Col4</td>
        </tr>
        <tr>
            <td>Col1</td>
            <td>Col2</td>
            <td>Col3</td>
            <td>Col4</td>
        </tr>
    </table>
</div>

答案 1 :(得分:0)

尝试改变这一点(我不知道这实际上是否已经存在于代码中):

tablecontents += "<td height= 50, width= 100>" + i + "</td>";

tablecontents += '<td height="50px", width="100px">' + i + "</td>";

BTW我建议跳过所有HTML3参数,并通过单独的CSS类来完成所有操作

tablecontents += '<td class='croppedTable'>' + i + "</td>";

<style>
#tablespace {
margin:auto;
position:relative;
width:300px;
overflow:hidden;    
}

.croppedTable {
... some styles ...
}
.croppedTable TD {
... some additional styles ...
width: 100px;
height: 50px;

}
</style>