有时我们使用相同的精灵图片同时拥有常规和部分 .sass
文件以及@include
声明。这可以在独立sass
中轻松使用,因为您可以在主文件中@import icons/*.png
和后续每个部分文件中的@include icons-sprite
问题在于 sass-rails
你不能这样做。
Rails管道似乎以一种不能彼此共享变量的方式编译sass文件。因此精灵的@import
声明只在声明它的文件范围内可用。
虽然,@import icons/*.png
到处都需要它,但会导致Rails为相同的图像生成不同的覆盖精灵文件,导致最终的样式表在其background-image
声明中错过文件名。
我一直在解决这个问题,当他们都需要相同的导入声明时跳过sass
部分,将它们混合在一个唯一的大样式表文件中,这不是一个理想的方法,因为它混乱了代码组织,代码维护并关注分离。
想知道是否有更好的方法解决这个问题,如果有人可以共享......
谢谢。