В настоящее время я использую readonly = "readonly", чтобы отключить поля. Я сейчас пытаюсь стилизовать атрибут с помощью CSS. Я пытался использовать
input[readonly] {
/*styling info here*/
}
но это не работает по какой-то причине. Я также пытался
input[readonly='readonly'] {
/*styling info here*/
}
это тоже не работает.
Как я могу стилизовать атрибут readonly с помощью CSS?
html
css
css-selectors
волчеягодник
источник
источник
input[readonly]
должно сработать. Убедитесь, что он не переопределяется другими, более конкретными селекторами в других местах вашей таблицы стилей.input[readonly='readonly']
будет работать только если вы используете HTML, как<input readonly="readonly">
, например , не для<input readonly>
.input[readonly]
должно соответствовать обоим.!important
должно работать, чтобы переопределить, если у вас также есть!important
в настройках класса?Ответы:
https://curtistimson.co.uk/post/css/style-readonly-attribute-css/
источник
input[readonly]
Вместо этого вы должны использоватьreadonly
логический атрибут as, который не имеет определенного значения.readonly="readonly"
из вашегоinput
элемента.Обратите внимание, что это
textarea[readonly="readonly"]
работает, если вы устанавливаетеreadonly="readonly"
в HTML, но не работает, если вы устанавливаетеreadOnly
-attribute вtrue
или"readonly"
через JavaScript.Чтобы селектор CSS работал, если вы установили
readOnly
JavaScript, вы должны использовать селекторtextarea[readonly]
.Такое же поведение в Firefox 14 и Chrome 20.
Чтобы быть на безопасной стороне, я использую оба селектора.
источник
textarea[readonly]
вместо этого - каждыйtextarea[readonly="readonly"]
гарантированно соответствует этому.Чтобы быть в безопасности, вы можете использовать оба ...
Атрибут readonly - это «логический атрибут», который может быть пустым или «только для чтения» (единственные допустимые значения). http://www.whatwg.org/specs/web-apps/current-work/#boolean-attribute
Если вы используете что-то вроде
.prop('readonly', true)
функции jQuery , вам в конечном итоге понадобится[readonly]
, а если вы используете,.attr("readonly", "readonly")
то вам понадобится[readonly="readonly"]
.Исправление: Вам нужно только использовать
input[readonly]
. В том числеinput[readonly="readonly"]
является излишним. См. Https://stackoverflow.com/a/19645203/1766230источник
Здесь много ответов, но я не видел тот, который я использую:
Обратите внимание на черту в псевдо-селекторе. Если это вход,
readonly="false"
он поймает это тоже, так как этот селектор ловит присутствие только для чтения независимо от значения. Техническиfalse
является недействительным согласно спецификации, но Интернет не идеальный мир. Если вам нужно покрыть этот случай, вы можете сделать это:textarea
работает так же:Имейте в виду , что HTML теперь поддерживает не только
type="text"
, но и множество других типов текстовых такойnumber
,tel
,email
,date
,time
,url
и т.д. Каждый должен был бы добавить к селектору.источник
:read-only
и другие селекторы псевдо были добавлены в стандарт W3C и могут использоваться с предварительными сборками IE 10 версии 10547 и выше.Есть несколько способов сделать это.
Первый наиболее широко используется. Работает на всех основных браузерах.
В то время как один выше выберет все входы с
readonly
прикрепленным, этот ниже выберет только то, что вы хотите. Обязательно заменитеdemo
на любой тип ввода, который вы хотите.Это альтернатива первому, но он не очень часто используется:
:read-only
Селектор поддерживается в Chrome, Opera и Safari. Firefox использует:-moz-read-only
. IE не поддерживает:read-only
селектор.Вы также можете использовать
input[readonly="readonly"]
, но это почти так же, какinput[readonly]
из моего опыта.источник
Shoud покрывает все случаи для поля ввода только для чтения ...
источник
использовать только первую букву
источник
Если вы выбираете вход по идентификатору, а затем добавляете
input[readonly="readonly"]
тег в CSS, что-то вроде:Это не будет работать. Вы должны выбрать родительский класс или идентификатор, а затем ввод. Что-то вроде:
Мои 2 цента в ожидании новых билетов на работу: D
источник
Используйте следующее для работы во всех браузерах:
источник