Tengo un problema con los anchos en los campos de entrada [text] en IE, todas las versiones.css: problema con el ancho y el relleno de una entrada en IE
Tengo un div con un ancho explícitamente establecido de 250px. En este div, tengo un campo de texto de entrada con ancho establecido en 100%. Esta entrada también tiene un margen izquierdo interno de 10px.
En IE, muestra el ancho como 100% + 10px. No puedo encontrar una técnica para restringir el ancho del contenedor.
Este problema se produjo inicialmente en todos los navegadores, pero fue muy fácil de corregir en FF, Safari y Chrome agregando ancho máximo: 100%. IE6/7 no es compatible con esto, mientras que IE8 lo hace, pero también agrega el relleno al ancho.
Entiendo que el modelo de caja de IE incluye el borde y el margen en sus cálculos de ancho, por lo que dado que así se entiende, todavía no puedo encontrar una forma de evitar esto.
También estoy tratando de encontrar una mejor solución que simplemente establecer mis anchos de entrada en 240px con el relleno, porque hay varias entradas en esta forma cuyos contenedores varían en tamaño y me gustaría encontrar una solución universal.
Aquí hay algo de código:
<div class="places_edit_left">
<h4>PHONE <strong>(NOT USER EDITABLE)</strong></h4>
<input type="text" value="" name="phoneNumber"/>
<h4>ADDRESS<strong>(NOT USER EDITABLE)</strong></h4>
<input type="text" value="" name="address"/>
</div>
CSS
.places_edit_left{ width:250px; }
.places_edit_left input{ width:100%; max-width:100%; padding-left:10px;}
El doctype está configurado correctamente para xhtml transitional. Los comparó con la página de modo peculiar. Sospecho que incluso en modo estricto, IE trata elementos de forma como si estuvieran en modo peculiar. –