我们都知道我们应该将我们的 CSS 合并到一个文件中,但是每个站点还是每个页面?我发现了两者的优点和缺点。
这是场景:
- 大型网站
- CSS 文件分解为一个文件用于全局样式和多个文件用于模块
解决方案 A:将整个站点的所有 CSS 文件合并到一个文件中:
最好的部分是一个文件将在第一次点击后缓存在每一页上!不利的一面是,随着命名空间冲突的机会增加,选择器(类和 id)的命名约定变得更加重要。您还需要一个系统来在不同的页面上对相同的模块进行不同的样式设置。这会导致 CSS 中出现额外的选择器,这对浏览器来说更有用。这可能会导致内存和处理能力不足的移动设备(如 iPad)出现问题。如果您将媒体查询用于响应式设计,那么当您添加额外的样式时,您的麻烦会更加复杂。
解决方案 B:每个页面模板合并一个 CSS 文件:
(我所说的页面模板是指一种布局,但有许多不同的页面,例如文章页面)在这种情况下,您会失去上述选择的大部分问题,但也会失去一些缓存优势。这种技术最糟糕的部分是,如果您在 2 个不同的页面模板上有相同的样式,那么它们将被下载两次,每个页面一次!例如,这将发生在您的所有全局文件中。:(
概括:
因此,正如编程中常见的那样,这两种解决方案都不是完美的,但如果有人遇到这个问题并找到了答案,我很想听听!特别是,如果您知道任何有助于解决解决方案 A 的选择器问题的技术。