respeta para pagina mal internet ie7 habilitar estilos compatibilidad html css input textinput

html - para - internet explorer no respeta css



Problemas de estilo CSS en entrada en IE8 (9)

Establecer una propiedad de altura de línea para el campo de entrada de búsqueda #q?

Tengo un problema para obtener el texto en una entrada que se muestre correctamente en Internet Explorer 8. Firefox, Safari y Chrome muestran lo mismo.

Firefox, Safari y Chrome

Internet Explorer 8

<form action="" method="get"> <input id="q" name="q" type="text"> <input id="s" name="s" type="submit" value="Sök"> </form> #q { background:url(../../image_layout/search_field.png) no-repeat; width:209px; height:32px; padding:0 5px 0 5px; text-align:left; margin:0; border:0; font-family:Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; color:#09305b; font-weight:bold; position:absolute; left: 0px; top: 19px; } #s { background:url(../../image_layout/serach_buttom.png) no-repeat; width:56px; height:34px; padding:0; margin:0; color:#FFFFFF; font-family:Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; border:0; position:absolute; left: 225px; top: 17px; }


Hay una regla de CSS3 : el box-sizing la box-sizing . Esta regla es compatible con IE8.

Los IE (incluido IE8) tienen un modelo de caja no estándar, donde el padding y el border se incluyen en el width y en la height mientras que otros navegadores son estándar y no incluyen el relleno y el borde en el ancho. Se describe en detalle here .
Al establecer el box-sizing la box-sizing content-box le dice a los navegadores que no incluyan el borde y el relleno en el ancho, y si configura box-sizing: border-box , todos los navegadores incluirán el borde y el relleno en la anchura. Esto o esto, la pantalla será coherente en todos los navegadores modernos (no es que IE8 sea tan moderno, pero es compatible con esta regla también :).


Intente especificar una line-height: 34px o aproximadamente.


Intente establecer una orientación de altura de línea para IE8 e inferior, como esto:

line-height: 32px/9;

line-height valor de line-height debe ser igual a la altura de la entrada y /9 apuntará a IE8 e inferior.


La posición de entrada debe ser position:absolute; en orden para line-height:37px; de la line-height:37px; y display:inline; trabajar.


No puedo comentar aún, la respuesta de Matthew funcionó para mí, pero en caso de que la gente quisiera un envoltorio solo para IE sin buscar en ningún otro lugar:

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { line-height: 20px; }


Solo usa

line-height: 34px!important; height: 34px;


Tuve muchos problemas con eso, y finalmente lo resolví:

por ej. configura

INPUT { line-height: 44px }

y...

INPUT:focus { line-height: 45px }

este ... f ... el píxel marca la diferencia (el foco debe tener + 1px más de lo normal) y ahora tiene el cursor en una buena posición en IE8.


Tuve que establecer la altura de la línea y display: inline . No tengo idea de por qué, pero funcionó para mí.