我是网络编程新手,我正在处理的网页初稿中有表格。当我做更多阅读时,我发现将外表呈现为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规格。
感谢任何建议。
答案 0 :(得分:0)
良好的做法是使用table less
HTML进行标记,除非您确实要显示表格数据。表格适用于Tabular data
! 。但是,在您的情况下,问题是display:
CSS属性。如果你把display:block;而不是table-cell
等,布局开始出现在您的页面上。所以我建议您查看W3schools
答案 1 :(得分:0)
只有您的代码中的错误是您使用 display:table-column .col ,尝试将其删除或将其更改为table-cell或表格行和你的代码应该可以工作。