Como forzar o cambio de tamaño de CSS gratuíto no elemento de entrada cando se especifique o seu ancho?

Isto é bastante próximo a viable. Debe configurar size="1" como atributo en <input> para cambiar o tamaño realmente pequeno. O cambio de tamaño está controlado por input:active que cancela a clase base con width: auto;. input:focus Evita que se reduza cando o tabule.

Posibles problemas: input:focus obriga ao <input> a min-size específico, que pode ser maior do que se cambiou. Pode min-width: 100% fan que esta sexa unha “característica” no canto dun problema, dando ao usuario máis espazo para escribir. Se o <input> ten foco, o cambio de tamaño aínda está limitado por min-width, pero o cambio de tamaño normalmente realízase despois do foco (e tamén, Utilízase principalmente para facer algo maior).

Demostración: http://jsfiddle.net/ThinkingStiff/jNnCW/

HTML (con estilos en liña como se solicitou):

<input type="text" size="1"/><style> input { resize: horizontal; width: 200px; } input:active { width: auto; } input:focus { min-width: 200px; }</style> 

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *