2012-02-11 14 views
8

Un bordo non esegue il rendering quando applico una proprietà border CSS per tfoot (border-top, border-bottom, border, ecc, nessuno renda un bordo)Opzioni CSS per applicare un bordo a tfoot? Styling TFOOT con "border-top" non funziona

Quali opzioni sono là per rendere un bordo solo su tfoot o tbody? È possibile applicare un bordo a tbody o tfoot?

Esempio CSS + HTML di seguito, nessun bordo viene visualizzato in Chrome 18, Firefox 9 o IE9.

<style> 
table.sample tfoot 
{ 
border-top: 2px solid black; 
} 
</style> 
<table class="sample"> 
<thead> 
<tr> 
    <td>Date</td><td>DataX</td><td>DataY</td><td>DataZ</td> 
</tr> 
</thead> 
<tfoot> 
<tr> 
    <td colspan="3">Average:</td><td>100</td> 
</tr> 
</tfoot> 
<tbody> 
<tr> 
    <td>Feb1</td><td>22</td><td>333</td><td>44</td> 
</tr> 
<tr> 
    <td>Feb2</td><td>66</td><td>77</td><td>88</td> 
</tr> 
</tbody> 
</table> 

risposta

4

Aggiungi

table { 
border-collapse: collapse; 
} 

e sintonizzare imbottitura all'interno delle cellule in base alle esigenze (per compensare con la perdita della spaziatura predefinita tra le celle).

(In jsfiddle, normalize.css contiene questa impostazione. Una delle ragioni per cui jsfiddle non sempre corrisponde a quello che succede quando il codice viene testato separatamente.)

+0

l'aggiunta della dichiarazione di stile sull'elemento di tabella funziona. Vedo ora un bordo nero reso al di sopra del contenuto di Tfoot in FF10, Chrome18 e Safari 5. Non vedo un bordo in IE9 e in Opera 11.6 vedo _two_ borders. – John

+0

Su IE9, questo sembra dipendere dalla modalità; in modalità IE9 e IE8 funziona, in modalità Quirks no. Il comportamento di Opera è davvero strano, perché disegna, oltre al bordo richiesto, un bordo inferiore per l'elemento 'thead'. Non riesco a trovare un modo migliore per ovviare a questo errore che aggiungere 'table.sample thead { border-bottom: 2px solid transparent; } '. –

1

È possibile applicare bordi su tfoot e tbody.

Vedere il seguente violino per prova!

http://jsfiddle.net/KHx24/

Prova

<style type="text/css"> 
    table.sample tfoot 
    { 
     border-top: 2px solid black; 
    } 
</style> 
+0

Sì, il link fornito violino (stile w/out 'collapse') Vedo questo rendering OK e vedo il bordo in Chrome. Ma come ha notato @jukka, jsfiddle aggiunge 'collapse', quindi quando ho provato localmente senza lo stile' collapse' non vedo il bordo in Chrome18. Ma ciò che è strano è che guardando il tuo collegamento violino in IE9 I * do * vedi il bordo, questo è strano perché localmente faccio * not * vedere il bordo in IE9 anche _with_ lo stile 'collapse' su' table' (che io credo essenzialmente imita ciò che fa il violino). Fiddle deve applicare anche altri stili che fanno sì che IE9 esegua il rendering di questo bordo, quali altri stili? – John