0

我有一个 extjs 应用程序,我使用 js 插件/css 等嵌入到现有的 HTML 模板中。

我的模板样式和 ext 之间存在 CSS 冲突。作为一个简单的解决方案,我想知道我是否可以告诉 ext 在创建其组件时只使用它自己的 css 文件。在加载我的应用程序之前,我已经实现了以下设置:

Ext = { buildSettings:{ "scopeResetCSS": true // 谢谢,但我会自己做范围界定 } };

这在某种程度上有效,但插件 css 文件覆盖了某些 ext 组件(表单字段、对齐问题等)。

这是我第一次尝试将 ext 应用程序集成到 html 模板中,所以我的知识非常有限。

提前致谢

4

1 回答 1

0

据我所知,没有办法在单个页面中限定 CSS,我想知道你是如何做到的。如果您想避免冲突,恐怕您必须进行一些重构。

一些建议:

  • 使用页面中加载的 ExtJS 文件构建您的 CSS 规则,这意味着您当前正在使用最终环境。此外,您可以使用自己的重置规则。
  • 不要使用标签选择器 ( div, span, input...) - 它适用于页面中的每个元素,包括 ExtJS 元素 - 除非目标元素从不承载任何 ExtJS 组件。
  • 像 ExtJS ( , ) 一样,将命名空间添加到您自己的选择器 ( #my-id, )。.my-class.x-button.x-container

另一种解决方案是使用 iframe 对 ExtJS 进行沙箱处理,但这取决于项目的性质。我没有足够的信息来帮助你更多。

于 2013-02-24T08:56:56.060 回答