Esquema simples:
<tr class="something">
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
</tr>
Eu preciso configurar uma largura fixa para <td>
. Eu tentei:
tr.something {
td {
width: 90px;
}
}
Além disso
td.something {
width: 90px;
}
para
<td class="something">B</td>
E até mesmo
<td style="width: 90px;">B</td>
Mas a largura <td>
ainda é a mesma.
css
twitter-bootstrap
width
html-table
user984621
fonte
fonte
style="width: 1% !important;"
para tornar a largura tão estreita quanto a palavra mais longa da coluna, é útil para a primeira coluna ID / #. Testado em chrome (desktop e celular), opera (desktop), IE (desktop), edge (desktop), firefox (desktop)Respostas:
Para o Bootstrap 4.0:
No Bootstrap 4.0.0, você não pode usar as
col-*
classes de maneira confiável (funciona no Firefox, mas não no Chrome). Você precisa usar a resposta do OhadR :Para o Bootstrap 3.0:
Com o twitter bootstrap 3, use:
class="col-md-*"
where * é um número de colunas de largura.Para o Bootstrap 2.0:
Com o twitter bootstrap 2, use:
class="span*"
where * é um número de colunas de largura.** Se você possui
<th>
elementos, defina a largura lá e não nos<td>
elementos.fonte
Eu estava tendo o mesmo problema, corrigi a tabela e especifiquei minha largura td. Se você tiver, pode fazê-lo também.
Modelo:
Por favor, use CSS para estruturar qualquer layout.
fonte
class
natd
tag em vez de aplicar o estilo diretamenteth
tipo:<th style="width: 25%;"></th>
isso afetará outras colunas larguratable-layout: fixed
. Isso é necessário porque muitos modelos criados com o BS4 aplicam flexibilidade a tudo, inclusive tabelas.Em vez de aplicar as
col-md-*
classes a cada umatd
na linha, você pode criarcolgroup
e aplicar as classes àcol
tag.Demonstração aqui
fonte
<col class="col-md-4 col-sm-6">
terá uma largura de 33% no tamanho da tela médio e 50% no tamanho da tela pequena)Espero que este ajude alguém:
https://github.com/twbs/bootstrap/issues/863
fonte
Se você estiver usando
<table class="table">
em sua tabela, a classe de tabela do Bootstrap adiciona uma largura de 100% à tabela. Você precisa alterar a largura para automático.Além disso, se a primeira linha da sua tabela for uma linha de cabeçalho, talvez seja necessário adicionar a largura a th em vez de td.
fonte
th
como normal, uma vez que ela é atualmente quebrada atualmente, pois esses cabeçalhos não quebram.No meu caso, consegui corrigir esse problema usando em
min-width: 100px
vez dewidth: 100px
para as célulasth
outd
.fonte
Para o Bootstrap 4, você pode simplesmente usar o auxiliar de classe:
fonte
.w-25, .w-50, .w-75, .w-100, .w-auto
portanto, se você quiser algo mais, digamos,w-10
precisará adicionar.w-10 { width: 10% !important; }
ao seu arquivo css localizado.Tente isto -
fonte
text-overflow: ellipsis
para garantir que o texto de corte é aparenteBootstrap 4.0
No Bootstrap 4.0, temos que declarar as linhas da tabela como flex-boxes adicionando a classe d-flex, e também soltar sufixos xs, md, para permitir que o Bootstrap o deduza automaticamente da viewport.
Então, será o seguinte:
Espero que isso seja útil para alguém por aí!
Felicidades!
fonte
Esta solução combinada funcionou para mim, eu queria colunas de largura igual
Resultado: -
fonte
Ok, eu apenas descobri onde estava o problema - no Bootstrap é configurado como um valor padrão
width
para oselect
elemento, portanto, a solução é:Qualquer outra coisa não funciona comigo.
fonte
Difícil de julgar sem o contexto da página html ou o resto do seu CSS. Pode haver um zilhão de razões pelas quais sua regra CSS não está afetando o elemento td.
Você já tentou seletores CSS mais específicos, como
Isso evita que seu CSS seja substituído por uma regra mais específica do css de autoinicialização.
(a propósito, em sua amostra de CSS embutido com o atributo style, você digitou incorretamente a largura - isso pode explicar por que essa tentativa falhou!)
fonte
Estou lutando com o problema há um tempo, por isso, quando alguém comete o mesmo erro estúpido que eu ... Por dentro,
<td>
eu tinha o elemento comwhite-space:pre
estilo aplicado. Isso fez com que todos os meus truques de tabela / tr / td fossem descartados. Quando removi esse estilo, de repente todo o meu texto estava bem formatado dentro dotd
.Portanto, sempre verifique o contêiner principal (como
table
outd
), mas também verifique se você não cancelou seu código bonito em algum lugar mais profundo :)fonte
Use d-flex em vez de linha para "tr" no Bootstrap 4
O problema é que a classe "row" ocupa mais largura que o contêiner pai, o que introduz problemas.
fonte
No bootstarp 4 você pode usar
row
ecol-*
na tabela, eu uso como abaixofonte
É assim que costumo fazer quando não preciso lidar com o IE
Dessa forma, você pode ter uma grade familiar de 12-col.
fonte
Nada disso funciona para mim e tenho muitas colunas na tabela de dados para tornar a classe% ou sm igual ao layout de 12 elementos no bootstrap.
Eu estava trabalhando com as tabelas de dados Angular 5 e Bootstrap 4 e tenho muitas colunas na tabela. A solução para mim foi
TH
adicionar umDIV
elemento com uma largura específica. Por exemplo, para as colunas "Nome da pessoa" e "Data do evento", preciso de uma largura específica e, em seguida, coloque umdiv
no cabeçalho da coluna; toda a largura da coluna será redimensionada para a largura especificada na div naTH
:fonte
use .algo sem td ou th
fonte
fonte