utilizar un elemento textarea
en lugar del elemento input
:
<textarea cols="80" rows="1" style="overflow: visible" placeholder=
"blablabla bla lba bla bla bla blabla bla bla bla lba"></textarea>
Esto produce más consistente, aunque no completamente prestación consistente. La configuración overflow: visible
está ahí para hacer que IE reserve espacio para 80 caracteres, de lo contrario solo 79 se ajustarán, debido a la barra de desplazamiento vertical.
¿Por qué aparece el problema con input
:
El atributo size="80"
define la anchura visible del campo a la anchura “promedio” de 80 caracteres. Esto no está exactamente definido (¿qué "promedio"?), Y los navegadores lo implementan de manera ilógica: el uso de size="80"
tiende a dar considerablemente menos ancho que 4 veces el ancho predeterminado de 20 caracteres. Entonces el navegador ni siquiera es consistente. La proporción depende de la fuente y del navegador. (Esto sucede en otros navegadores también.)
Si necesita seguir usando input
:
Usted podría utilizar style="width: 80ch"
, pero no todos los navegadores soportan esta característica CSS3, y no hay garantía de que se ha implementado correctamente. La unidad ch
es por definición el ancho de avance del dígito cero, '0', que en la mayoría de las fuentes es igual al ancho de avance de los dígitos en general. (Por ejemplo, Firefox lo implementa casi correctamente. Casi, pero no del todo.)
Puede establecer la fuente en los elementos <input>
en alguna fuente monoespaciada. Esto no elimina el problema, pero hace que los anchos estén más cerca de los anchos especificados.
mismo digo http://jsfiddle.net/qyMLQ/ –
Si eso fuera cierto, podría añadir un estilo en línea que pasar por encima de estilo global, ¿verdad? Pero eso no funciona. – Rhubarb
@Rubarb: Sí, siempre que anule el estilo correcto. –