有时我需要选择使用 CSS element: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 方法是否适用于大多数 Web 浏览器?JavaScript 比 css 慢吗?