Бывают случаи, когда у меня есть выбор между использованием элемента CSS: hover или JavaScript onmouseover для управления внешним видом элементов html на странице. Рассмотрим следующий сценарий, в котором div обертывает ввод
<div>
<input id="input">
</div>
Я хочу, чтобы вход изменял цвет фона при наведении курсора мыши на div. Подход CSS
<style>
input {background-color:White;}
div:hover input {background-color:Blue;}
</style>
<div><input></div>
Подход JavaScript
<div onmouseover="document.getElementById('input').style.backgroundColor='Blue';">
<input id="input">
</div>
Каковы преимущества и недостатки каждого подхода? Хорошо ли работает подход CSS с большинством веб-браузеров? JavaScript медленнее, чем css?