2013-09-24 12 views
12

なぜボーダーはtbodyの周りに表示されませんか?私はrules="groups"を試して、境界線が表示されますが、2つのtbodyセクションの間でのみ表示され、折りたたまれています。 ボーダーを<tbody>要素に設定する方法は?

table.sectioned tbody { 
 
    border: 2px solid black; 
 
    border-collapse: separate; 
 
    border-spacing: 4px; 
 
}
<table class="sectioned"> 
 
    <tbody> 
 
    <tr><td colspan="2"><b>General Data</b></td></tr> 
 
    <tr><td>Tail Number</td><td>N0809021</td></tr> 
 
    <tr><td>Type of Ownership</td><td>personal</td></tr> 
 
    <tr><td>Type of Aircraft</td><td>aircraft under 13,000 pounds</td></tr> 
 
    <tr><td>Year of Manufacture</td><td>1999</td></tr> 
 
    <tr><td>Use of Aircraft</td><td>private</td></tr> 
 
    <tr><td>Start Date</td><td></td></tr> 
 
    <tr><td>Policy Length</td><td>6 months</td></tr> 
 
    </tbody> 
 
    <tbody> 
 
    <tr><td colspan="2"><b>Additional Aircraft Information</b></td></tr> 
 
    <tr><td>Manufacturer</td><td></td></tr> 
 
    <tr><td>Model</td><td></td></tr> 
 
    <tr><td>Engine Make</td><td></td></tr> 
 
    <tr><td>Number of Seats</td><td></td></tr> 
 
    </tbody> 
 
</table>

+0

表示を追加します。ブロックとの境界線が表示されます。 –

+0

@Keith、tbodyは、表要素の本体部分のコンテナ要素です。http://stackoverflow.com/questions/923655/is-there-a-direct-purpose-for-htmls-tbody –

+0

ありがとう、Barbara。 display:blockはボーダーを表示するようにしましたが、border-spacingはありませんでした。ここで境界線間隔を取得する方法はありますか? – George

答えて

8

表示を追加します。この

tbody{ 
    display:block; 
    border: 2px solid black; 
    border-collapse: separate; 
    border-spacing: 4px; 
} 

を試してみてくださいあなたはこのfiddle

+0

ありがとう、ブライアン。それがトリックでした。そして、あなたのフィドルの余白 - 下:10ピクセルが境界線を分離させました。 – George

+4

tbodyの表示タイプを変更すると、列がもう整列しなくなることに注意してください。http://jsfiddle.net/bPL86/1/ – cimmanon

+0

これは、cimmanonです。あたかも各tbodyがそれ自身のテーブルになるかのようです。残念な。私はそれができる最善のことは、最初の列を固定幅にすることだと思います。 – George

33

追加:あなたのtbodyスタイルにブロック:

table {border-collapse: collapse;} 

FIDDLE

+4

回答を受け入れる必要があります。受け入れられた人はテーブルを壊し、大いに間違っています。 –

0

利用box-shadow代わりのborderにそれをテストすることができます。 border-collapseのどの値が適用されても問題なく動作します。また、border-radiusを適用することもできます。

tbody { 
 
    box-shadow: 0 0 0 1px black; 
 
    border-radius: 5px; 
 
}
<table> 
 
    <thead> 
 
    <tr> 
 
     <th>Firstname</th> 
 
     <th>Lastname</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody> 
 
    <tr> 
 
     <td>Jill</td> 
 
     <td>Smith</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Eve</td> 
 
     <td>Jackson</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

関連する問題