表格表示为未显示的Div

时间:2012-06-18 13:38:17

标签: html css html-table

我是网络编程新手,我正在处理的网页初稿中有表格。当我做更多阅读时,我发现将外表呈现为div并将表嵌套在外部div的单元格中是更好的样式。但是,只要我将表格标签切换为div,一切都停止显示。我确定我错过了一些明显的东西。这是代码:

CSS:

.Dashboard
{
    display: table;
    table-layout: fixed;
    height: 500px;
    width: 500px;
}
.col
{
    display: table-column;
}
.cell1
{
    display: table-cell;
    border: 1px solid black;
}
.cell2
{
    display: table-cell;
    border: 1px solid black;
}
.cell3
{
    display: table-cell;
    border: 1px solid black;
}
.cell4
{
    display: table-cell;
    border: 1px solid black;
}
table.inner, td
{
    border-collapse: collapse;
    border: 2px solid black;
    text-align: center;
    padding: 2px;
}
td.image
{
    padding: 0;
    margin: 0;
}

HTML:

<form id="form1" runat="server">
<asp:Label runat="server" ID="label"></asp:Label>
<div runat="server" id="Dashboard" class="Dashboard">
    <div class="col">
        <div class="cell1">
            <table class="inner" id="t1">
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr><...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
            </table>
        </div>
        <div class="cell2">
            <table class="inner" id="t2">
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
            </table>
        </div>
    </div>
    <div class="col">
        <div class="cell3">
            <table class="inner" id="t3">
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
                <tr>...</tr>
            </table>
        </div>
        <div class="cell4">
            <table class="inner" id="t4">
                <tr>...</tr>
            </table>
        </div>
    </div>
</div>
</form>
</body>
</html>

我意识到目前所有的细胞都是相同的,但这会改变 - 因此有四种不同的CSS规格。

感谢任何建议。

2 个答案:

答案 0 :(得分:0)

良好的做法是使用table less HTML进行标记,除非您确实要显示表格数据。表格适用于Tabular data! 。但是,在您的情况下,问题是display: CSS属性。如果你把display:block;而不是table-cell等,布局开始出现在您的页面上。所以我建议您查看W3schools

答案 1 :(得分:0)

只有您的代码中的错误是您使用 display:table-column .col ,尝试将其删除或将其更改为table-cell或表格行和你的代码应该可以工作。