0

是否有任何官方 jQuery 插件(如 jQuery UI)允许在所有浏览器中使用这些效果?或者至少是 IE8、Chome、FF 和 Opera。我不想要用户插件,因为它们通常缺乏长期支持,彼此不兼容或缺乏一致的质量和优化。

我在 jQuery UI 演示页面中看到了一些“覆盖和阴影类”,但我找不到关于它们的任何文档。我认为那些经常需要的功能必须以某种方式包含在 jQuery 中?

我会感谢任何帮助!提前致谢!

4

1 回答 1

2

没有“官方”的方式来做到这一点,但有一种务实的方式(与 jQuery 无关)。对于某些站点,我已经完全在 CSS 中处理了这个问题,使用“真正”规则、特定于浏览器的版本以及CSS3 PIE htc 文件(用于 IE)的组合。一个例子:

div.roundbox {
  border-radius: 8px;          // Official. Maybe someday.
  -webkit-border-radius: 8px;  // Webkit browsers
  -moz-border-radius: 8px;     // Firefox
  behavior: url(PIE.htc);      // IE
}

CSS3 PIE 工作得非常好,而且似乎比 IE7.js 系列解决方案表现得更好。基本上,您将同一behavior行放到任何使用边框半径、框阴影等的 CSS 规则中。脚本负责其余部分,并且对将通过第一个渲染效果的非 IE 浏览器没有影响三个指令。

您还可以汇总所有值得 PIE 的对象的列表,并一次性声明行为(在常规规则之后):

div.shadowbox, div.roundbox, p.somethingelse { behavior: url(PIE.htc); }

关于这种方法的智慧肯定有很多争论的空间——但在许多情况下它确实工作得很好。

于 2010-10-02T23:05:00.000 回答