Są chwile, kiedy mam wybór między używaniem elementu CSS: hover lub JavaScript onmouseover do kontrolowania wyglądu elementów html na stronie. Rozważmy następujący scenariusz, w którym element div zawija dane wejściowe
<div>
<input id="input">
</div>
Chcę, aby dane wejściowe zmieniły kolor tła, gdy kursor myszy znajdzie się nad elementem div. Podejście CSS to
<style>
input {background-color:White;}
div:hover input {background-color:Blue;}
</style>
<div><input></div>
Podejście JavaScript jest
<div onmouseover="document.getElementById('input').style.backgroundColor='Blue';">
<input id="input">
</div>
Jakie są zalety i wady każdego podejścia? Czy podejście CSS działa dobrze w większości przeglądarek internetowych? Czy JavaScript jest wolniejszy niż CSS?