2013-09-24 5 views
12

Perché il bordo non mostra circa tbody nel seguente? Ho provato rules="groups" e il bordo appare, ma solo tra le due sezioni tbody ed è compresso.Come impostare il bordo sull'elemento <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

Aggiungi display: block e il confine verranno visualizzati. –

+0

@Keith, tbody è un elemento contenitore per la parte del corpo di un elemento table http://stackoverflow.com/questions/923655/is-there-a-direct-purpose-for-htmls-tbody –

+0

Grazie, Barbara. display: il blocco ha mostrato il bordo, anche se non ha spaziatura dei bordi. C'è un modo per far funzionare la spaziatura dei confini qui? – George

risposta

8

Aggiungi display: block al vostro stile tbody. Prova questo

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

È possibile verificare il lavoro svolto su questo fiddle

+0

Grazie, Brian. Questo ha fatto il trucco. E il margine inferiore: 10px nel tuo violino ha causato la separazione dei confini. – George

+4

Si noti che la modifica del tipo di visualizzazione del tbody rende le colonne non allineate più: http://jsfiddle.net/bPL86/1/ – cimmanon

+0

Lo vedo, cimmanon. È come se ogni persona diventasse il proprio tavolo. Peccato. Immagino che il meglio che posso fare sia rendere la prima colonna a larghezza fissa. – George

33

Add:

table {border-collapse: collapse;} 

FIDDLE

+4

Dovrebbe essere accettata risposta. Quello accettato rompe il tavolo ed è molto scorretto. –

0

Uso box-shadow invece di border. Funziona indipendentemente dal valore di border-collapse applicato. Inoltre, puoi anche applicare border-radius ad esso.

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>