Actualmente estoy usando readonly = "readonly" para deshabilitar los campos. Ahora estoy tratando de diseñar el atributo usando CSS. He intentado usar
input[readonly] {
/*styling info here*/
}
pero no funciona por alguna razón. También he intentado
input[readonly='readonly'] {
/*styling info here*/
}
eso tampoco funciona.
¿Cómo puedo diseñar el atributo de solo lectura con CSS?
html
css
css-selectors
Dafne
fuente
fuente
input[readonly]
Deberia trabajar. Asegúrese de que no esté siendo anulado por otros selectores más específicos en otra parte de su hoja de estilo.input[readonly='readonly']
solo funcionará si usas HTML como<input readonly="readonly">
, no por ejemplo<input readonly>
.input[readonly]
debería coincidir con ambos.!important
debería funcionar para anular, a menos que también tenga!important
en la clase de configuración?Respuestas:
https://curtistimson.co.uk/post/css/style-readonly-attribute-css/
fuente
input[readonly]
lugar, debe usarlo comoreadonly
un atributo booleano que no está diseñado para tener un valor específico.readonly="readonly"
de suinput
elemento.Tenga en cuenta que
textarea[readonly="readonly"]
las obras si se establecereadonly="readonly"
en HTML pero no funciona si se establece lareadOnly
-attribute atrue
o"readonly"
a través de JavaScript.Para que el selector CSS funcione si configura
readOnly
con JavaScript , debe usar el selectortextarea[readonly]
.Mismo comportamiento en Firefox 14 y Chrome 20.
Para estar seguro, utilizo ambos selectores.
fuente
textarea[readonly]
en su lugar:textarea[readonly="readonly"]
se garantiza que todos coincidirán con eso.Para estar seguro, es posible que desee utilizar ambos ...
El atributo de solo lectura es un "atributo booleano", que puede estar en blanco o "de solo lectura" (los únicos valores válidos). http://www.whatwg.org/specs/web-apps/current-work/#boolean-attribute
Si está utilizando algo como la
.prop('readonly', true)
función de jQuery , terminará necesitando[readonly]
, mientras que si lo está utilizando.attr("readonly", "readonly")
, lo necesitará[readonly="readonly"]
.Corrección: solo necesitas usar
input[readonly]
. La inclusióninput[readonly="readonly"]
es redundante. Ver https://stackoverflow.com/a/19645203/1766230fuente
Hay muchas respuestas aquí, pero no he visto la que uso:
Tenga en cuenta el guión en el pseudo selector. Si la entrada es,
readonly="false"
también lo captará, ya que este selector detecta la presencia de solo lectura, independientemente del valor. Técnicamentefalse
no es válido según las especificaciones, pero Internet no es un mundo perfecto. Si necesita cubrir ese caso, puede hacer esto:textarea
funciona de la misma manera:Tenga en cuenta que ahora es compatible con HTML no sólo
type="text"
, sino una serie de otros tipos textuales talnumber
,tel
,email
,date
,time
,url
, etc. Cada uno tendría que ser añadido al selector.fuente
:read-only
y otros selectores de psuedo se han agregado al estándar W3C y se pueden usar con versiones preliminares de IE 10 10547 y superiores.Hay algunas formas de hacer esto.
El primero es el más utilizado. Funciona en todos los principales navegadores.
Mientras que el de arriba seleccionará todas las entradas con
readonly
adjunto, este de abajo seleccionará solo lo que desee. Asegúrese de reemplazardemo
con cualquier tipo de entrada que desee.Esta es una alternativa a la primera, pero no se usa mucho:
El
:read-only
selector es compatible con Chrome, Opera y Safari. Firefox utiliza:-moz-read-only
. IE no es compatible con el:read-only
selector.También puede usar
input[readonly="readonly"]
, pero esto es más o menos lo mismoinput[readonly]
, según mi experiencia.fuente
Debería cubrir todos los casos para un campo de entrada de solo lectura ...
fuente
escribe con mayúscula la primera letra de Only
fuente
Si selecciona la entrada por la identificación y luego agrega la
input[readonly="readonly"]
etiqueta en el CSS, algo así como:Eso no funcionará. Debe seleccionar una clase o identificación principal y luego la entrada. Algo como:
Mis 2 centavos mientras espero nuevas entradas en el trabajo: D
fuente
Use lo siguiente para trabajar en todos los navegadores:
fuente