Questo è abbastanza vicino a vitali. È necessario impostare size="1"
come attributo in <input>
per modificare le dimensioni davvero ridotte. La variazione delle dimensioni è controllata da input:active
che annulla la classe base con width: auto;
. input:focus
Impedisci di essere ridotto quando lo si tabulerà.
Possibili problemi: input:focus
Forza l’ID
a min-size
specifico, che potrebbe essere più grande di quello che è stato modificato. Puoi min-width: 100%
Rendi questa una “caratteristica” invece di un problema, dando all’utente più spazio per scrivere. Se il <input>
ha focus, la variazione delle dimensioni è ancora limitata da min-width
, ma la modifica delle dimensioni viene solitamente eseguita dopo il fuoco (e anche, Viene utilizzato principalmente per fare qualcosa di più grande).
Dimostrazione: http://jsfiddle.net/ThinkingStiff/jNnCW/
HTML (con gli stili online come richiesto):
<input type="text" size="1"/><style> input { resize: horizontal; width: 200px; } input:active { width: auto; } input:focus { min-width: 200px; }</style>