• 0
Launder

Динамическое изменение индикации, через соседние селекторы.

Вопрос

Решил поэкспериментировать с динамическим изменением индикации, вот по этому заданию. Как мне казалось, это реально: стили для любого значения параметра загружаются сразу, изменяется параметр - сразу применяются стили, соответствующие новому параметру. Но почему-то эта "динамика" работает, только для параметра, заданного по-умолчанию. Почему стили не применяются к изменённому параметру? Какова тут логика работы и возможно ли подобное, сделать на чистом CSS? Спасибо.

PS: ну и до кучи - буду рад инфе, как стилизовать input type='number '🙂

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 1

Как бы это объяснить... hover,checked и т.п. это состояния элемента в зависимости от состояния - применяются стили.

value это атрибут элемента в дом дереве, а оно само не перестраивается. Если бы вы при изменении его значения удаляли старый элемент и вставляли на его место новый с новым значением - стили бы применились.

1 час назад, Launder сказал:

С ними и возникнет.

Это легко решается при помощи js.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Стили увас загрузились один раз, применились к параметру по умолчанию, дальше никаких операций с ними не происходит. Вот если бы вы в зависимости от значения value изменяли стили или добавляли/удаляли классы с помощью js, то все бы работало.

Стилизовать инпут с помощью css конечно можно, но возникнет трудность со стилизацией стрелок. Удалить их конечно можно, но вот сделать вместо стандартных свои, да так что бы они работали можно только добавив js

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
21 час назад, AlexZaw сказал:

Стили увас загрузились один раз, применились к параметру по умолчанию, дальше никаких операций с ними не происходит.

Вот это меня и удивляет 🙂 Допустим в коде:

a { color: blue }
a:hover { color: green }
a:active { color: red }

или тут:

input:checked + label
{ background: white; }

стили применились к параметрам по-умолчанию, но поменялись параметры - поменялись стили. во втором примере, тот же input, правда другого типа. Но поскольку стили для изменённых параметров уже загружены и селекторы, для их идентификации, есть во всех случаях, я не понимаю, в чём принципиальная разница, между тем, что приведено в заголовке темы, и приведёнными выше примерами. ведь значение value меняется с помощью самого браузера! что ему сложно применить уже загруженные стили для изменённого значения? если да, то в чём сложность или где тут несоответствие?

21 час назад, AlexZaw сказал:

Стилизовать инпут с помощью css конечно можно, но возникнет трудность со стилизацией стрелок.

С ними и возникнет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ну в общем, вывод прост - учить DOM и JS. В процессе 🙂 Возможно, после изучения, стану лучше понимать CSS, поскольку теоретически, мне тут не всё ясно...

Изменено пользователем Launder

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: garmoni
      Нужно сверстать переключатели input radio в виде блоков. (Размер M, L, XL, XXL)
      Изначально при выборе блока, все работало, менялся цвет. Теперь перестало работать и не могу найти причину. Вставляю часть кода в https://jsfiddle.net/
      все работает. На локальном и хостинге нет. Ссылка на сайт
      http://garmoni.inf.ua/Brandly/
      в самом низу
       
       
       
    • Автор: kirillov
      Добрый день. Написал сайт и встречается такая проблема на устройствах от apple (конкретно Iphone 5). В форму заявки в поля input не вводятся никакие символы. Посоветуйте пожалуйста. Спасибо.
    • Автор: JackPeralta
      Здравствуйте. Начал изучать HTML день назад.Теперь у меня вопрос.
      <input type=text name"info" size=20>
      Как введенные данные в эту строку,вывести на другом HTML?
      Спасибо, жду ответов от всех.

Карта разработчиков

Карта участников

Отметь себя на карте для поиска или предложения работы