¿Eliminar el botón X de "borrar campo" de IE10 en ciertas entradas?

Resuelto Niet the Dark Absol asked hace 11 años • 6 respuestas

Es una característica útil, sin duda, pero ¿hay alguna forma de desactivarla?
Por ejemplo, si el formulario es un solo campo de texto y ya tiene un botón "borrar" al lado, es superfluo tener también la X. En esta situación, sería mejor eliminarla.

¿Se puede hacer y, de ser así, cómo?

Niet the Dark Absol avatar Dec 23 '12 07:12 Niet the Dark Absol
Aceptado

Diseñe el ::-ms-clearpseudoelemento del cuadro:

.someinput::-ms-clear {
    display: none;
}
Ry- avatar Dec 23 '2012 00:12 Ry-

Descubrí que es mejor configurar widthy heighten 0px. De lo contrario, IE10 ignora el relleno definido en el campo, padding-rightcuyo objetivo era evitar que el texto se escriba sobre el icono 'X' que superpuse en el campo de entrada. Supongo que IE10 está aplicando internamente la padding-rightentrada al ::--ms-clearpseudoelemento y ocultar el pseudoelemento no restaura el padding-rightvalor del archivo input.

Esto funcionó mejor para mí:

.someinput::-ms-clear {
  width : 0;
  height: 0;
}
jimp avatar Feb 06 '2013 21:02 jimp

Aplicaría esta regla a todos los campos de entrada de tipo texto, por lo que no es necesario duplicarla más adelante:

input[type=text]::-ms-clear { display: none; }

Incluso se puede ser menos específico usando simplemente:

::-ms-clear { display: none; }

He usado este último incluso antes de agregar esta respuesta, pero pensé que la mayoría de las personas preferirían ser más específicas que eso. Ambas soluciones funcionan bien.

Wallace Sidhrée avatar Aug 16 '2013 10:08 Wallace Sidhrée

Debe diseñar para ::-ms-clear( http://msdn.microsoft.com/en-us/library/windows/apps/hh465740.aspx ):

::-ms-clear {
   display: none;
}

Y también diseñas el ::-ms-revealpseudoelemento para el campo de contraseña:

::-ms-reveal {
   display: none;
}
ducdhm avatar Feb 19 '2014 01:02 ducdhm