CSS菜单与JavaScript菜单

在制作下拉菜单时,有一些jQuery菜单,如superfish和纯CSS菜单。 JS菜单和CSS菜单之间有什么区别吗?

我不需要onclick事件来覆盖默认锚点。 我只需要能够点击菜单项,然后按照https://stackoverflow.com/questions/6688423/css-menu-vs-javascript-menu/...到另一页。

区别:

  1. 如果用户禁用了JavaScript,JavaScript会崩溃; 如果用户已禁用CSS(不太常见),CSS菜单将无效
  2. 由jQuery这样的库制作的JavaScript更具跨浏览性,因为跨浏览器问题是由库处理的
  3. JavaScript菜单更灵活,因为CSS仍然不够成熟以创建高度复杂的效果(不要忘记JavaScript是一种编程语言,而编程语言意味着你几乎可以做任何你想做的事。但CSS更像是声明性的塑造的
  4. CSS菜单的大小通常较小(例如,参见思想结果 ),但这在当今用户的互联网速度方面并不是什么大问题。
  5. 有时在菜单中,您需要分组 ,这是通过CSS无法实现的,但可以在JavaScript中完成。 (分组意味着您要在点击某个项目时打开下拉菜单,而不是在链接地址后面。当然,在您的情况下,这不是必需的)

一个明显的区别是JS菜单可以更加自定义。 您无法控制菜单仅使用CSS显示的速度。

从哲学的角度来看,CSS实际上是关于样式,JS是关于交互。 然而,现在WebKit已经完全用CSS过渡,这条线已经模糊了很多。

最后,尽可能多地使用CSS,然后添加JavaScript以获得更高级别的抛光交互。 像键盘导航这样的东西…允许鼠标从一个链接移动到下一个链接的微妙延迟…动画等

即使我认为自己是开发人员,我总是尽量避免编程。

我想我会使用CSS菜单,它将使用onHover事件显示下拉菜单DIV。

JavaScript可能会受到其他应用程序的影响,可能会重复变量。 您可以轻松地将其移植到通常不支持JS的移动设备上