Почему при первом варианте выделяется только часть текста, а при втором оба текста? Мне кажется если бы селектор не поддерживался моим браузером, то он бы вообще ничего не выделил.
Думаю дело в специфичности, селектор с :not оказывается сильнее и переопределяет базовые стили, которые применяются к полям.
Если селектор :not сильнее, тогда зачем указывать в описании курса read-write, который недостаточно силен и не выполняет поставленную задачу? Ведь в описании курса говорится что либо он (в некоторых браузерах), либо селектор с :not. Так же там говорится что :not надо применять только если read-write не работает, но он как бы работает, наполовину.
Прошу прощения, я не посмотрел задание, когда отвечал вам на вопрос. Сейчас я изучил задание и выяснил, что это не переопределение стилей, как предполагал.
input:read-write
действительно выбирает доступные для редактирования поля, input:read-only
— недоступные для редактирования.
При этом input:not(:read-only)
, как и input:not([readonly])
, выберет помимо незаблокированных текстовых ещё и все остальные поля input
, в число которых вошла и кнопка отправки формы.
Тогда выходит что селекторы read-write и :not([readonly]) все-таки разные?
В описании сказано что они абсолютно идентичные по функционалу, различаются только записи.
Да, выходит, это неточность теории.
Спасибо, что обнаружили этот момент.