Existe uma maneira 0 de largura para evitar divs flutuou entre em colapso
-
05-07-2019 - |
Pergunta
Em primeiro lugar, esta questão não é sobre elementos de bloco em colapso quando os seus filhos estão flutuando. Na verdade, a questão não tem nada a ver com compensação em tudo.
A questão é esta. Suponha que eu tenho uma série de divs flutuavam como:
<div class="column">Column 1</div>
<div class="column"></div>
<div class="column">Column 3</div>
Com css:
div.column { float: left; width: 200px; }
A coluna do meio entrará em colapso nas versões recentes do Firefox e Safari, embora aparentemente não IE7. O que eu quero é o comportamento IE7.
Eu percebo que pode adicionar um
e que irá realizar o div aberto, mas que não funciona para mim neste caso, porque eu também tenho ter uma declaração como esta:
div.column input { width: 100% }
Eu tenho uma série de colunas que deitei em uma mesa-como formato, com certas condições que causam os campos de entrada a desaparecer. O problema é quando a entrada desaparece o colapso de campo. Se eu adicionar um
faz com que o div para embrulhar. Apenas a cabeça fora as questões iniciais:
- Por que não usar uma tabela em vez disso? Porque eu estou usando Scriptaculous Ordenável para arrastar e soltar linhas, que não funciona com tabelas
- Por que não usar uma largura de pixel mais curto para deixar espaço para um
? Porquewidth: 100%
é mais preciso entre os navegadores. - Por que eu não adicionar uma
quando eu esconder a entrada I podem acabar recorrendo a isso, mas seria tipo de feio na JS, então eu estou esperando por uma melhor caminho.
Alguém tem alguma hacks inteligentes aqui? Uma vez que ambos Safari e Firefox se comportar dessa maneira Eu suponho que este é sancionado oficialmente comportamento. Onde está esse discutido nas especificações do W3C?
Solução
Eh? você não deve apenas dar-lhe uma altura aleatória? você pode mostrar uma demo?