2013-07-03 13 views
5

C'è un modo per eliminare lo lieve divario tra due tag tbody quando sono entrambi visualizzati in linea come questo?Eliminare il divario tra le etichette tbody

http://jsfiddle.net/kttss/

what the html renders

Come si può vedere nel violino, tra le due tabelle c'è un piccolo spazio. So che posso liberarmi di questo manualmente usando il margine negativo, ma questo mi sembra una seccatura dato che ho una tabella con un numero variabile di tbody s.

<table style="margin:0;" border="1"> 
    <tbody style="display: inline-block; margin:0;"> 
     <tr> 
     <td> 
      1 
     </td> 
     <td> 
      2 
     </td> 
     </tr> 
     <tr> 
     <td> 
      3 
     </td> 
     <td> 
      4 
     </td> 
     </tr> 
    </tbody> 
    <tbody style="display: inline-block; margin: 0;"> 
     <tr> 
     <td> 
      1 
     </td> 
     <td> 
      2 
     </td> 
     </tr> 
     <tr> 
     <td> 
      3 
     </td> 
     <td> 
      4 
     </td> 
     </tr> 
    </tbody> 
</table> 
+1

È interessante. La tua immagine non mostra realmente il problema, ma è evidente nel tuo violino. –

+0

C'è qualche ragione specifica per cui hai bisogno di due 'tbody' in linea? Perché non metterli in uno? –

risposta

15

Sembra aggiungere border-spacing: 0; agli elementi table aiuterà. Senza questo, ci sono 2 pixel che circondano ciascuno dei bordi, il che significa che ci sono 4 pixel tra i tavoli.

+1

Ecco un [violino] (http://jsfiddle.net/kttss/8/) per la tua risposta. Credo che dovresti rimuovere/commentare lo spazio bianco tra tbody (i) o fluttuare gli elementi, poiché anche se il tuo violino funziona bene in Chrome, Firefox rende uno spazio tra i t-body. +1 in ogni caso per la bella aggiunta. –

4

Uso pescante, invece inline-block visualizzazione. Devi anche comprimere i bordi con border-collapse:collapse oppure utilizzare border-spacing: 0 come nella risposta di @ JoeEnos.

table { border-collapse:collapse; } 
tbody { float:left; } 

Demo

Con display: inline-block, lo spazio bianco nella marcatura (interruzioni di linea, tabulazioni) vengono compressi e reso come un singolo spazio. float s non sono interessati da questo.

+0

Sebbene non sia necessario comprimere i bordi, gli conferisce un aspetto più unificato –

+0

@CodyGuldner Sì, senza compressione, c'è una strana imbottitura tra la tabella e il 'tbody' (i). '=]' Bene, 'border-spacing: 0' risolve anche questo particolare problema come nella risposta di @ Joe. –

Problemi correlati