Este é o meu caso de sistema de grade 960:
<div class="kundregister_grid_full">
<div class="kundregister_grid_1">ID</div>
<div class="kundregister_grid_1">Namn</div>
<div class="kundregister_grid_1">Anv.Namn</div>
<div class="kundregister_grid_1">Email</div>
<div class="kundregister_grid_1">Roll</div>
<div class="kundregister_grid_1">Aktiv</div>
</div>
Este é meu conjunto de divs, usado como estrutura de tabela.
CSS diz o seguinte:
.kundregister_grid_1 {
display: inline-block;
float: left;
margin: 0;
text-align: center;
}
.kundregister_grid_1 {
width: 140px;
}
Não se importe com o nome sueco. Quero que os divs sejam exibidos, embora não tenham valores.
<div class="kundregister_grid_full">
<div class="kundregister_grid_1">ID</div>
<div class="kundregister_grid_1"></div>
<div class="kundregister_grid_1"></div>
<div class="kundregister_grid_1">Email</div>
<div class="kundregister_grid_1">Roll</div>
<div class="kundregister_grid_1">Aktiv</div>
</div>
Assim, neste caso, não há 'Namn' e 'Avn.Namn' nas duas colunas. No entanto, ao executar isso no cromo, eles são removidos e não empurram mais os outros divs no pedido float:left
. Portanto, se eu tiver categorias nos mesmos divs acima, os valores serão colocados na categoria errada.
element.text(" ");
no jQuery e
aparece na página.Tente adicionar
aos itens vazios.Não entendo por que você não está usando um
<table>
aqui? Eles farão esse tipo de coisa automaticamente.fonte
<table>
== RUIM.
, por mais que seja uma solução popular, pode causar problemas em alguns cenários. Como quando você riscado (text-decoration: line-through;
) o texto, o traço aparecerá
, enquanto o que você realmente deseja é apenas um div em branco.Ligeira atualização para a resposta @ no1cobla. Isso esconde o período. Esta solução funciona no IE8 +.
fonte
.class:after:empty
Uma solução simples para divs flutuantes vazios é adicionar:
desta forma, você pode manter a funcionalidade de flutuação e forçá-la a preencher o espaço quando vazio.
Eu uso essa técnica em colunas de layout de página, para manter cada coluna em sua posição, mesmo se as outras colunas estiverem vazias.
Exemplo:
fonte
min-height
é a melhor soluçãowidth
. No entanto, isso não impede que o div tenha altura zero. (tente definir o fundo div para ver o problema). Portanto, & nbsp; é uma solução mais geral. Também o conteúdo: "." corrige o problema de altura zero.Basta adicionar um caractere de espaço de largura zero dentro de um pseudoelemento
fonte
Esta é uma maneira:
fonte
content: "\200b";
para um espaço de largura zero . A vantagem adicional é que o navegador não selecionará esse caractere (por exemploCTRL+A
CTRL+C
, ainda se comportará da mesma forma).Você pode:
o Definir
.kundregister_grid_1
como:width
(ouwidth-min
) comheight
(oumin-height
)padding-top
padding-bottom
border-top
border-bottom
o Ou use pseudo-elementos :
::before
ou::after
com:{content: "\200B";}
{content: "."; visibility: hidden;}
.o Ou coloque
dentro de um elemento vazio, mas isso às vezes pode trazer efeitos inesperados, por exemplo. em combinação comtext-decoration: underline;
fonte
Por que não apenas adicionar "min-width" à sua classe css?
fonte
funciona mas não está certo acho que w min-height: 1px;
fonte
Com o uso do bloco embutido, ele se comportará como um objeto embutido. portanto, nenhum flutuador precisa colocá-los um ao lado do outro em uma linha. E, de fato, como disse Rito, os carros alegóricos precisam de um "corpo", assim como precisam de dimensões.
Eu concordo totalmente com Pekka sobre o uso de tabelas. Todo mundo que constrói layouts usando div evita tabelas como se fosse uma doença. Mas use-os para dados tabulares! É para isso que eles servem. E no seu caso, acho que você precisa deles :)
MAS se você realmente quer o que quer. Existe uma maneira de hack css. O mesmo que o hack do float.
Adicione esse e você também está definido: D (Observação: não funciona no IE, mas pode ser corrigido)
fonte
Se eles precisarem ser flutuados, você sempre pode definir a altura mínima para 1px para que não colapsem.
fonte
Ao construir um conjunto personalizado de tags de layout, encontrei outra resposta para esse problema. É fornecido aqui o conjunto personalizado de tags e suas classes CSS.
HTML
CSS
A chave aqui é o tamanho da caixa e preenchimento.
fonte