我在与上面的行创建不同行时遇到问题。 我想要一行包含3个单元格,并在该行下方扩展到该行的末尾,依此类推。第一排-3个单元格,第二排-1个长单元格(等于上面的三个单元格)并重复。
这是我使用的HTML和CSS模板
#table {
margin: 0px;
margin-left: 585px;
margin-top: 50px;
z-index: 2;
width: 385;
border-collapse: collapse;
}
.divStyle {
/* in charge of the scroller*/
width: 385px;
height: 428px;
overflow: auto;
}
.innerTables {
width: 360;
border-collapse: collapse;
vertical-align: middle;
}
.productionTable tr td {
width: 360px;
border: 2px solid black;
}
.innerTables tr td,
th {
margin: 0px;
padding: 0px;
width: 120px;
}
.innerTables tr td {
border: 1px solid black;
}
<table id='table'>
<tr>
<td>
<table class='innerTables'>
<tr>
<th>Building</th>
<th>Amount</th>
<th>1 Per</th>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<div class='divStyle'>
<table class='innerTables'>
<tr>
<td>Fishery</td>
<td class='inputText' id="fishery"></td>
<td>800 Farmers</td>
</tr>
<tr>
<td colspan="0">
<table class='productionTable'>
<tr>
test
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
我尝试使用边框指示边框是否有效。
答案 0 :(得分:1)
您可以改用colspan属性
<table id='table'>
<tr>
<td>
<table class='innerTables'>
<tr>
<th>Building</th>
<th>Amount</th>
<th>1 Per</th>
</tr>
<tr>
<td>Fishery</td>
<td class='inputText' id="fishery"></td>
<td>800 Farmers</td>
</tr>
<tr>
<td colspan="3">
Test
</td>
</tr>
</table>
</td>
</tr>
</table>
答案 1 :(得分:0)
最好的方法是colspan或rowpan。在这里阅读更多 https://www.w3schools.com/tags/att_td_rowspan.asp
<tr>
<td colspan="3">
<table class='productionTable'>
答案 2 :(得分:0)
答案 3 :(得分:0)
我会说使用colspan="3"
作为其他答案,但是如果您希望它是动态的,并且不想在每个表单元格中添加colspan
,则可以尝试使用这种方法>
.row{
display: flex;
}
.column{
border: 1px solid red;
}
.table> .row:nth-child(odd) > .column{
width: 33.3%;
flex-grow: 1;
}
.table> .row:nth-child(even) > .column{
width: 100%;
}
<div class="table">
<div class="row">
<div class="column">test</div>
<div class="column">test</div>
<div class="column">test</div>
</div>
<div class="row">
<div class="column">test</div>
</div>
<div class="row">
<div class="column">test</div>
<div class="column">test</div>
<div class="column">test</div>
</div>
<div class="row">
<div class="column">test</div>
</div>
</div>