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?
twitter-bootstrap
skowron-line
fonte
fonte
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: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:
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).
fonte
.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/
fonte
Se você estiver usando o Bootstrap 4, use
.w-auto
.Consulte https://getbootstrap.com/docs/4.1/utilities/sizing/
fonte
Resposta 1:
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.
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.
Resposta nº 2:
Se você estiver usando o bootstrap 4, ele possui algumas boas classes auxiliares de largura, como:
Aqui está o documento: https://getbootstrap.com/docs/4.0/utilities/sizing/
fonte
Eu estava tendo o mesmo problema, corrigi a tabela e especifiquei minha largura td. Se você tiver, também pode fazê-lo.
Não tive sorte com .table-nonfluid.
fonte
width: auto !important;
!important
(é uma prática ruim ). Veja o comentário em uma resposta abaixo .Eu tentei adicionar
style="width: auto !important"
e funciona muito bem para mim!fonte
<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!important
exceção. Isso ocorre porquewidth: 100%;
está definidotable
no CSS do Bootstrap e, portanto, está substituindo suawidth: auto;
regra.