因此,在没有答案的情况下,我将提供我采用的实现。
正如您在上面看到的,这个复杂的 ExtJS 4.1 应用程序具有复杂的设计。sencha slice 工具没有任何作用(但是,如果您想保留所有 sencha 默认值并只是更改应用程序的基本颜色,可能是基本 SASS 变量,它确实可以工作?)。
另一方面,您可以看到 Ext 覆盖效果如何。一个相当稳固的过渡,看起来 95% 相同(或者正如 Chris Coyier 所说的,“嗯,足够好”)。
下面是我的实现:
Ext.application({
...
init: function () {
// Override CSS3BorderRadius value which caused render problems in <IE9 when false.
Ext.supports['CSS3BorderRadius'] = true;
// Hack-ish remove class sniffers from Ext.EventManager (which attaches modrnizer type classes onto the body)
Ext.getBody().removeCls('x-nbr x-nlg');
}
...
});
这个实现很优雅,因为:
- “我”将编写可以工作的跨浏览器 CSS。我不需要 sencha 用它的“更聪明”、更糟糕的 CSS 来覆盖我的 CSS。
- 我知道旧版浏览器无法处理圆角——我不想要它们。
- 我知道 IE 无法处理线性渐变——默认情况下我不想要图像。我想使用过滤器:程序。
- 我不希望 Sencha 用数十个自定义图像、数十个嵌套容器和大量表格来膨胀我的标记
gg 希望这对某人有帮助