El HTML simple a continuación se muestra de manera diferente en los navegadores basados en Firefox y WebKit (verifiqué en Safari, Chrome y iPhone).
En Firefox tanto el borde como el texto tienen el mismo color ( #880000
), pero en Safari el texto se vuelve un poco más claro (como si tuviera algo de transparencia aplicada).
¿Puedo solucionar esto de alguna manera (eliminar esta transparencia en Safari)?
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
input:disabled{
border:solid 1px #880000;
background-color:#ffffff;
color:#880000;
}
</style>
</head>
<body>
<form action="">
<input type="text" value="disabled input box" disabled="disabled"/>
</form>
</body>
</html>
Respuestas:
fuente
1
para Mobile Safari.opacity:1
también es necesario.placeholder
texto delinput
elemento. En caso de que también necesite una solución, consulte este enlace: css-tricks.com/almanac/selectors/p/placeholderLos navegadores webkit de teléfonos y tabletas (Safari y Chrome) y el IE de escritorio tienen una serie de cambios predeterminados en los elementos de formulario deshabilitados que deberá anular si desea modificar el estilo de las entradas deshabilitadas.
fuente
es una pregunta interesante y he intentado muchas modificaciones para ver si puedo hacerlo funcionar, pero nada funciona. Los navegadores modernos en realidad usan sus propias hojas de estilo para decirle a los elementos cómo se muestran, por lo que tal vez si puede olfatear la hoja de estilo de Chrome, pueda ver qué estilos están imponiendo. Me interesará mucho el resultado y si no tienes uno me dedicaré un poco de tiempo a buscarlo más tarde cuando tenga tiempo que perder.
FYI,
no lo anula, por lo que no estoy seguro de que sea opacidad.
fuente
Puede cambiar el color a
#440000
solo para Safari, pero en mi humilde opinión, la mejor solución sería no cambiar el aspecto del botón en absoluto . De esta forma, en todos los navegadores de todas las plataformas, se verá exactamente como los usuarios esperan.fuente
ACTUALIZADO 2019:
Combinando ideas de esta página en una solución de "configurar y olvidar".
fuente
Puede utilizar el atributo readonly en lugar del atributo disabled, pero luego deberá agregar una clase porque no hay una entrada de pseudo-clase: readonly.
Tenga en cuenta que una entrada deshabilitada y una entrada de solo lectura no son lo mismo. Una entrada de solo lectura puede tener foco y enviará valores al enviar. Mira w3.org
fuente
para @ryan
Quería que mi cuadro de entrada deshabilitado se viera como uno normal. Esto es lo único que funcionaría en Safari Mobile.
fuente
Si desea solucionar el problema de todas las entradas deshabilitadas, puede definir
-webkit-text-fill-color
acurrentcolor
, porcolor
lo que se utilizará la propiedad de la entrada.Mira ese violín en Safari https://jsfiddle.net/u549yk87/3/
fuente
Esta pregunta es muy antigua, pero pensé que publicaría una solución de webkit actualizada. Simplemente use el siguiente CSS:
fuente
-webkit-text-fill-color
Sin embargo¿Puedes usar un botón en lugar de una entrada?
fuente