【发布时间】:2011-10-05 00:42:45
【问题描述】:
在制作下拉菜单时,有像superfish这样的jQuery菜单和纯CSS菜单。 JS 菜单和 CSS 菜单有什么区别吗?
我不需要onclick 事件来覆盖默认锚点。我只需要能够单击菜单项然后按照<a href="...">...</a> 到另一个页面。
【问题讨论】:
标签: javascript jquery css menu dojo
在制作下拉菜单时,有像superfish这样的jQuery菜单和纯CSS菜单。 JS 菜单和 CSS 菜单有什么区别吗?
我不需要onclick 事件来覆盖默认锚点。我只需要能够单击菜单项然后按照<a href="...">...</a> 到另一个页面。
【问题讨论】:
标签: javascript jquery css menu dojo
区别:
【讨论】:
从哲学的角度来看,CSS 是关于样式的,而 JS 是关于交互的。然而,现在 WebKit 已经在 CSS 转换中全力以赴,这条线已经模糊了很多。
最后,尽可能多地使用 CSS 是非常棒的,然后添加 JavaScript 以提高交互级别。诸如键盘导航之类的东西...允许鼠标从一个链接移动到下一个链接的细微延迟...动画等。
【讨论】:
即使我是一名开发人员,我也总是尽量避免编程。
我想我将使用一个 CSS 菜单,该菜单将使用 onHover 事件显示下拉菜单 DIV。
JavaScript 可能会受到其他应用程序的影响,可能是重复变量。并且可以轻松移植到通常不支持 JS 的移动设备上
【讨论】:
一个明显的区别是 JS 菜单更加可定制。您无法仅使用 CSS 来控制菜单出现的速度之类的事情。
【讨论】:
display:none 更改为display:block 来显示,但是display 属性是不可动画的。 (参见Animatable CSS properties,MDN。)我见过人们通过转换max-height 来对菜单进行CSS 动画处理,但我看到的每个示例都要求在CSS 中指定菜单的展开高度,这似乎非常严格如果菜单的内容可能会改变。