Sto riscontrando un problema con le larghezze sui campi [testo] di input in IE, tutte le versioni.css: problema con larghezza e riempimento di un input in IE
Ho un div con una larghezza impostata esplicitamente di 250 px. In questo div, ho un campo di testo di input con larghezza impostata al 100%. Questo input ha anche un riempimento interno sinistro di 10px.
In IE, esegue il rendering della larghezza come 100% + 10px. Non riesco a capire una tecnica per vincolare la larghezza al contenitore.
Questo problema si verificava inizialmente in tutti i browser, ma era molto facile da risolvere in FF, Safari e Chrome aggiungendo larghezza massima: 100%. IE6/7 non supporta questo, mentre IE8 lo fa ma aggiunge anche il padding alla larghezza.
Capisco che il modello di box di IE include il bordo e il margine nei calcoli della larghezza, quindi con quello dato come capito non riesco ancora a capire come aggirarlo.
Sto anche provando a trovare una soluzione migliore rispetto all'impostazione delle larghezze di input a 240px con il padding, perché in questo modulo ci sono vari input di contenitori di dimensioni variabili e mi piacerebbe trovare una soluzione universale.
Ecco po 'di codice:
<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;}
Il doctype è impostato correttamente per transizioni xhtml. Confrontandoli con la pagina di quirksmode. Sospetto che anche in modalità rigorosa, IE tratti gli elementi del modulo come se fossero in modalità strane. –