Suponha esta marcação:
<table class="table table-bordered" align="center">
Não importa quantas células eu tenha, a tabela terá sempre 100% de largura. Por que isso?
Suponha esta marcação:
<table class="table table-bordered" align="center">
Não importa quantas células eu tenha, a tabela terá sempre 100% de largura. Por que isso?
Respostas:
Todas as tabelas no bootstrap se estendem de acordo com o contêiner, o que você pode fazer facilmente colocando sua tabela dentro de um .span*elemento de grade de sua escolha. Se você deseja remover essa propriedade, pode criar sua própria classe de tabela e simplesmente adicioná-la à tabela na qual deseja expandir com o conteúdo:
.table-nonfluid {
width: auto !important;
}
Você pode adicionar essa classe dentro de sua própria folha de estilo e simplesmente adicioná-la ao contêiner da sua tabela da seguinte maneira:
<table class="table table-nonfluid"> ... </table>
Dessa forma, sua alteração não afetará a própria folha de estilo de inicialização (você pode querer ter uma tabela fluida em outro lugar do documento).
.span*classe à sua tabela para dar alguma largura.
!importantàwidth: auto
<table style="width: auto;" ...funciona bem. Testado no Chrome 38, IE 11 e Firefox 34.
jsfiddle: http://jsfiddle.net/rpaul/taqodr8o/
Se você estiver usando o Bootstrap 4, use .w-auto.
Consulte https://getbootstrap.com/docs/4.1/utilities/sizing/
Por que lutar contra isso? Por que não simplesmente controlar a largura da sua tabela usando a grade de inicialização? Esta é a marcação do Bootstrap 3.
<div class="row">
<div class="col-sm-6">
<table></table>
</div>
</div>
Isso criará uma tabela com metade (6 de 12) da largura do elemento que o contém.
Às vezes eu uso estilos embutidos conforme as outras respostas, mas isso é desencorajado.
Se você estiver usando o bootstrap 4, ele possui algumas boas classes auxiliares de largura, como:
w-25, w-50, w-75, and w-100
Aqui está o documento: https://getbootstrap.com/docs/4.0/utilities/sizing/
Eu estava tendo o mesmo problema, corrigi a tabela e especifiquei minha largura td. Se você tiver, também pode fazê-lo.
<style>
table {
table-layout: fixed;
word-wrap: break-word;
}
</style>
<td width="10%" /td>
Não tive sorte com .table-nonfluid.
width: auto !important;
Eu tentei adicionar style="width: auto !important"e funciona muito bem para mim!
<link>tag de estilos personalizados apareça abaixo da <link>tag do Bootstrap ), as regras serão cascateadas conforme projetado e você não precisará usar sua !importantexceção. Isso ocorre porque width: 100%;está definido tableno CSS do Bootstrap e, portanto, está substituindo sua width: auto;regra.