CSS的hover伪类与JS的onmouseover事件对比
两者共同特点:可以在鼠标移入、移出时添加效果。
但是在作用的方式和范围上有所区别。
CSS
1 | .father:hover ~ .activate{display:inline-block;} |
作用方式:改变CSS属性。
作用范围:使用CSS选择器来决定对象。
优点:
简洁,易使用,不需要JS,在绝大多数网站上可以使用。
缺点:
CSS选择器在实现复杂的定位时有些困难,如控制另一父容器中的内容。
仅能改变样式,不能改变内容(虽然可以通过改变不同内容的属性来实现切换,但是不能实现增删等复杂操作)。
仅有笼统的hover不支持更为细分的事件。
JS
1 | functionover(obj){ |
作用方式:JS的DOM方法。
作用范围:无限制(JS)。
优点:强大,有更为细分的事件(in、out等),可以配合其他JS函数实现更多效果。
缺点:需要JS,在某些限制JS使用的网站无法使用(防止跨站脚本攻击)。