Supponiamo che questo markup:
<table class="table table-bordered" align="center">
Non so quante celle ho, la tabella ha sempre una larghezza del 100%. Perché?
Supponiamo che questo markup:
<table class="table table-bordered" align="center">
Non so quante celle ho, la tabella ha sempre una larghezza del 100%. Perché?
Risposte:
Tutti i tavoli all'interno del bootstrap si allungano in base al loro contenitore, cosa che puoi fare facilmente posizionando il tuo tavolo all'interno di un .span*elemento griglia di tua scelta. Se si desidera rimuovere questa proprietà, è possibile creare la propria classe di tabella e semplicemente aggiungerla alla tabella che si desidera espandere con il contenuto all'interno di:
.table-nonfluid {
width: auto !important;
}
Puoi aggiungere questa classe all'interno del tuo foglio di stile e semplicemente aggiungerla al contenitore della tabella in questo modo:
<table class="table table-nonfluid"> ... </table>
In questo modo la modifica non influirà sul foglio di stile bootstrap stesso (potresti voler avere una tabella fluida da qualche altra parte nel tuo documento).
.span*classe alla tua tabella per dargli una certa larghezza.
!importantawidth: auto
<table style="width: auto;" ...funziona bene. Testato su Chrome 38, IE 11 e Firefox 34.
jsfiddle: http://jsfiddle.net/rpaul/taqodr8o/
Se stai usando Bootstrap 4, usa .w-auto.
Perché combatterlo? Perché non controllare semplicemente la larghezza della tabella usando la griglia bootstrap? Questo è il markup Bootstrap 3.
<div class="row">
<div class="col-sm-6">
<table></table>
</div>
</div>
Questo creerà una tabella che è la metà (6 su 12) della larghezza dell'elemento contenitore.
A volte uso stili in linea come per le altre risposte, ma è scoraggiato.
Se stai usando bootstrap 4, ha delle belle classi di supporto per larghezza come:
w-25, w-50, w-75, and w-100
Ecco il documento: https://getbootstrap.com/docs/4.0/utilities/sizing/
Avevo lo stesso problema, ho sistemato la tabella e poi ho specificato la mia larghezza td. Se hai questo puoi fare anche quelli.
<style>
table {
table-layout: fixed;
word-wrap: break-word;
}
</style>
<td width="10%" /td>
Non ho avuto fortuna con .table-nonfluid.
width: auto !important;
Ho provato ad aggiungere style="width: auto !important"e funziona benissimo per me!
<link>tag di stili personalizzati appare sotto il <link>tag Bootstrap ), allora le regole verranno applicate a cascata come previsto e non dovresti usare !importantaffatto la tua eccezione. Questo è vero perché width: 100%;è definito tablenel CSS Bootstrap e quindi sta sostituendo la tua width: auto;regola.