Ci sono momenti in cui posso scegliere tra l'utilizzo di un elemento CSS: hover o JavaScript onmouseover per controllare l'aspetto degli elementi html su una pagina. Considera il seguente scenario in cui un div racchiude un input
<div>
<input id="input">
</div>
Voglio che l'input cambi il colore di sfondo quando il cursore del mouse passa sopra il div. L'approccio CSS è
<style>
input {background-color:White;}
div:hover input {background-color:Blue;}
</style>
<div><input></div>
L'approccio JavaScript è
<div onmouseover="document.getElementById('input').style.backgroundColor='Blue';">
<input id="input">
</div>
Quali sono i vantaggi e gli svantaggi di ciascun approccio? L'approccio CSS funziona bene con la maggior parte dei browser web? JavaScript è più lento di css?