テーブルを描きたい
P Q [AB] [CD]
ここで、A、B、C、Dは境界線で描かれています。QとPはテーブルのラベルであり、境界線で描画しないでください。QとPはAと揃える必要があります。
これを達成する方法は?境界線を描画する行を制御することはできますが、行全体の境界線を描画できないため、役に立ちません。
テーブルを描きたい
P Q [AB] [CD]
ここで、A、B、C、Dは境界線で描かれています。QとPはテーブルのラベルであり、境界線で描画しないでください。QとPはAと揃える必要があります。
これを達成する方法は?境界線を描画する行を制御することはできますが、行全体の境界線を描画できないため、役に立ちません。
次のようなことをします:
<table border="0" cellspacing="0">
<tr>
<th> </th>
<th>P</th>
<th> </th>
</tr>
<tr>
<th>Q</th>
<td class="border">A</td>
<td class="border">B</td>
</tr>
<tr>
<th> </th>
<td class="border">C</td>
<td class="border">D</td>
</tr>
</table>
次に、CSSを使用します。
td.border { border: 1px solid #000 }
td {
border: 1px solid #999;
padding: 10px;
}
td.no-border {
border: 0;
}
tr.no-border td {
border: 0;
}
<table>
<tr class="no-border">
<td></td>
<td colspan="2">p</td>
</tr>
<tr>
<td class="no-border">q</td>
<td>a</td>
<td>b</td>
</tr>
<tr>
<td class="no-border"></td>
<td>c</td>
<td>d</td>
</tr>
</table>
アドホックなcssクラスヘルパーを作成し、no-border
ボーダレスにしたいセルにのみ適用しました。
これは非テーブルソリューションです。
<div id="container">
<div class="row">
<div id="top">P</div>
</div>
<div class="row">
<div id="left">Q</div>
<div id="table">
<div class="row">
<div class="cell">A</div>
<div class="cell">B</div>
</div>
<div class="row">
<div class="cell">C</div>
<div class="cell">D</div>
</div>
<div class="row"></div>
</div>
</div>
</div>
CSS
.cell{
float:left;
width:50px;
border:1px solid #c0c0c0;
}
.row{
display:block;
overflow:auto;
}
#container{
display:block;
overflow:auto;
}
#top{
display:block;
overflow:auto;
margin-left:20px;
}
#left{
float:left;
overflow:auto;
}
#table{
float:left;
overflow:auto;
margin:5px;
margin-top:0px;
}
JSFiddle: http: //jsfiddle.net/harendra/EUZru/
このソリューション(純粋なHTML)はあなたのために機能しますか?
<table>
<tr>
<td></td>
<td colspan="2">P</td>
</tr>
<tr>
<td>Q</td>
<td rowspan="2">
<table border="1">
<tr>
<td>A</td>
<td>B</td>
</tr>
<tr>
<td>C</td>
<td>D</td>
</tr>
</table>
</td>
</tr>
</table>
jsfiddleの例