Pergunta

Eu tenho um formulário onde dependendo de uma marca do website de dois campos de entrada deve ser visível em um ponto determinado.

eu percebi que eu só colocar ambos os campos de entrada no mesmo recipiente e, em seguida, através do meu set de uma folha de estilo deles para exibir: none; Isso faz ocultar o campo, mas ainda torna ocupam espaço. Eu também tentei definir a altura e largura para 0 ou configuração de visibilidade para oculto ou colapso mas nenhum deles funcionou.

Untill agora tudo coisas de marca poderia ser feito com folhas de estilo CSS, então eu gostaria de mantê-lo assim. A solução deve pelo menos ser apoiada no IE6 &-se, Firefox 2 &-se e Chrome (mais recente).

Foi útil?

Solução

O que sobre a definição do campo de entrada invisível para position: absolute; que deve tirá-lo do fluxo de renderização.

No entanto, definindo-o como display: none deve, em teoria, fazer o mesmo ...

Outras dicas

Por que você não usar type="hidden" entrada?

<style>
.hideme
{
    display:none;
    visibility:hidden;
}
.showme
{
    display:inline;
    visibility:visible;
}
</style>


<input type="text" name="mytext" class="hideme">

Você pode set class = "hideme" para ocultar seu controle ou class = "showme" para mostrar seu controle. Você pode definir esta toggeling usando JavaScript ou do lado do servidor codificação.

Este faz ocultar o campo, mas ainda faz com que seja ocupam espaço.

Isso não deve acontecer; display: none deve fazer com que o elemento a não ser incluído no fluxo. Verifique o resto do seu CSS (tente usar o Firebug para descobrir onde o "espaço" extra, que é provavelmente apenas preenchimento ou margem de algum elemento circundante, está vindo).

Eu não estou muito familiarizado com CSS, mas você pode tentar implementar JQuery que combina Javascript e CSS para deixar você faz coisas como essa com relativa facilidade.

Usando a propriedade de visibilidade ocupa espaço renderização mesmo se o elemento não é visível. Em vez de usar visivility você tem que usar propriedade de exibição.

Você pode definir o visualização para nenhum se você quiser ocultar o elemento e exibição de bloco ou em linha se você quiser mostrá-los.

Para ter um olhar no check exibição este

Se definir a sua propriedade de exibição não resolve o seu problema, então eu acho que as caixas de texto pode ser posicionado de forma absoluta. Ele pode ser a razão para o layout não deve ser alterado.

Você pode por favor postar o código completo?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top