Quero impedir quebras de linha em uma coluna de uma tabela, não em uma única célula.
Steven
11
Então, adicione-o a todas as células da coluna?
David M
Adicione uma classe a todas as células td às quais você deseja aplicar, se não quiser que ela seja aplicada a todas as células da tabela, mas apenas às específicas.
James Black
Quero aplicá-lo a todas as células da mesma coluna.
Isso não se aplicaria a toda a tabela (ou seja, TODAS as colunas) e não apenas a uma coluna individual?
Joshua Pinter
15
Há algumas maneiras de fazer isto; nenhum deles é o caminho fácil e óbvio.
Aplicar espaço em branco: o nowrap para a <col>não funcionará; apenas quatro propriedades CSS funcionam em <col>elementos - cor de fundo, largura, borda e visibilidade. O IE7 e versões anteriores costumavam oferecer suporte a todas as propriedades, mas isso ocorre porque eles usavam um modelo de tabela estranho. O IE8 agora corresponde a todos os outros.
Então, como você resolve isso?
Bem, se você pode ignorar o IE (incluindo o IE8), pode usar o :nth-child()pseudoclasse para selecionar <td>s específicos de cada linha. Você usaria td:nth-child(2) { white-space:nowrap; }. (Isso funciona para este exemplo, mas seria interrompido se você tivesse algum espaço de linha ou espaço de cores envolvido.)
Se você precisa dar suporte ao IE, precisa percorrer o caminho mais longo e aplicar uma classe a tudo <td>que deseja afetar. É péssimo, mas são os intervalos.
A longo prazo, existem propostas para corrigir essa falta de CSS, para que você possa aplicar estilos mais facilmente a todas as células em uma coluna. Você será capaz de fazer algo assim td:nth-col(2) { white-space:nowrap; }e faria o que você quiser.
<tableclass="blueTable"><tr><td>My name is good</td></tr></table><style>
table.blueTable td,
table.blueTable th {white-space: nowrap;/* non-question related further styling */border:1px solid #AAAAAA;padding:3px2px;text-align: left;}</style>
Este é um exemplo de uso da propriedade espaço em branco com valor nowrap, a tabela azul é a classe da tabela, abaixo da tabela estão os estilos CSS.
Respostas:
Você pode usar o espaço em branco no estilo CSS:
fonte
Para fins de conclusão:
É usado para aplicar um estilo à coluna 2 da
the table_id
tabela.Isso é suportado por todos os principais navegadores; o IE começou a oferecer suporte a partir do IE9 em diante.
fonte
Use o estilo nowrap:
É CSS!
fonte
Basta adicionar
Exemplo:
fonte
Há algumas maneiras de fazer isto; nenhum deles é o caminho fácil e óbvio.
Aplicar espaço em branco: o nowrap para a
<col>
não funcionará; apenas quatro propriedades CSS funcionam em<col>
elementos - cor de fundo, largura, borda e visibilidade. O IE7 e versões anteriores costumavam oferecer suporte a todas as propriedades, mas isso ocorre porque eles usavam um modelo de tabela estranho. O IE8 agora corresponde a todos os outros.Então, como você resolve isso?
Bem, se você pode ignorar o IE (incluindo o IE8), pode usar o
:nth-child()
pseudoclasse para selecionar<td>
s específicos de cada linha. Você usariatd:nth-child(2) { white-space:nowrap; }
. (Isso funciona para este exemplo, mas seria interrompido se você tivesse algum espaço de linha ou espaço de cores envolvido.)Se você precisa dar suporte ao IE, precisa percorrer o caminho mais longo e aplicar uma classe a tudo
<td>
que deseja afetar. É péssimo, mas são os intervalos.A longo prazo, existem propostas para corrigir essa falta de CSS, para que você possa aplicar estilos mais facilmente a todas as células em uma coluna. Você será capaz de fazer algo assim
td:nth-col(2) { white-space:nowrap; }
e faria o que você quiser.fonte
O
nowrap
atributo que acredito ser preterido. O acima é o caminho preferido.fonte
Este é um exemplo de uso da propriedade espaço em branco com valor nowrap, a tabela azul é a classe da tabela, abaixo da tabela estão os estilos CSS.
fonte
Coloque espaços sem quebra no seu texto em vez de espaços normais. No Ubuntu, faço isso com (Compose Key) -space-space.
fonte
Para aplicá-lo a toda a tabela, você pode colocá-lo na
table
tag:<table style="white-space:nowrap;">
fonte