CSS菜单与JavaScript菜单
在制作下拉菜单时,有一些jQuery菜单,如superfish和纯CSS菜单。 JS菜单和CSS菜单之间有什么区别吗?
我不需要onclick
事件来覆盖默认锚点。 我只需要能够点击菜单项,然后按照https://stackoverflow.com/questions/6688423/css-menu-vs-javascript-menu/...
到另一页。
区别:
- 如果用户禁用了JavaScript,JavaScript会崩溃; 如果用户已禁用CSS(不太常见),CSS菜单将无效
- 由jQuery这样的库制作的JavaScript更具跨浏览性,因为跨浏览器问题是由库处理的
- JavaScript菜单更灵活,因为CSS仍然不够成熟以创建高度复杂的效果(不要忘记JavaScript是一种编程语言,而编程语言意味着你几乎可以做任何你想做的事。但CSS更像是声明性的塑造的 )
- CSS菜单的大小通常较小(例如,参见思想结果 ),但这在当今用户的互联网速度方面并不是什么大问题。
- 有时在菜单中,您需要分组 ,这是通过CSS无法实现的,但可以在JavaScript中完成。 (分组意味着您要在点击某个项目时打开下拉菜单,而不是在链接地址后面。当然,在您的情况下,这不是必需的)
一个明显的区别是JS菜单可以更加自定义。 您无法控制菜单仅使用CSS显示的速度。
从哲学的角度来看,CSS实际上是关于样式,JS是关于交互。 然而,现在WebKit已经完全用CSS过渡,这条线已经模糊了很多。
最后,尽可能多地使用CSS,然后添加JavaScript以获得更高级别的抛光交互。 像键盘导航这样的东西…允许鼠标从一个链接移动到下一个链接的微妙延迟…动画等
即使我认为自己是开发人员,我总是尽量避免编程。
我想我会使用CSS菜单,它将使用onHover事件显示下拉菜单DIV。
JavaScript可能会受到其他应用程序的影响,可能会重复变量。 您可以轻松地将其移植到通常不支持JS的移动设备上