Есть моменты, когда у меня есть выбор между использованием элемента 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?