0

假设我正在从事一个 SPA 项目,该项目有两个不同的 CSS 框架,它们之间必须共存:一个“新的和新鲜的”框架和另一个“旧的和痛苦的”框架。我们 Web 应用程序的每个模块都应该使用新的 CSS 框架来完成,但是旧的具有如此激进的规则,它会覆盖我们新框架的一些基本规范化/重置规则并影响新的 css。一个例子:

旧框架.css

// It's a stupid thing, but in this example this code will modify your new 
//framework because doesn't add 'color:black' to define the basic style 
// again.
body { color: red }; 

我考虑过不同的解决方案,但没有一个对我有用:

  • 对新框架使用 css 命名空间。避免修改旧样式很好,但是如果您有一个新模块,其中包含新 css 的模块中包含旧 css 怎么办?这个新模块将包含很多 css bin。

  • 创建一个巨大而疯狂的 css “规范化”文件,它会删除新框架不需要的所有 css 规则。您的旧 css 框架越大,您必须添加的规则数量就越多,以删除以前的样式。这对“恢复”“初始”浏览器样式的 Web 性能产生了巨大的影响。

  • 两者的结合:新框架具有 css 命名空间,旧框架在文件末尾包含“规范化”样式。这是我目前在我的特定情况下能够找到的最佳选择,但我想相信另一种解决方案是可能的。

你如何处理这个问题?在您看来,处理它的最佳策略是什么?

4

1 回答 1

0

老实说,我会尝试转储旧框架......这是在让您完全控制开发环境的场景中“正确”完成它的唯一方法。

或者,您可以找出旧框架的哪些部分对于将站点保持在一起并提取这些部分是完全必要的,而放弃其余部分。这应该尽可能多地删除“标准化”部分。任何孔都可以相对容易地被覆盖(希望如此)。

于 2015-10-23T15:08:12.253 回答