有时,我们同时拥有使用相同精灵图像声明的常规文件和部分 .sass
文件。这很容易独立使用,因为您可以在主文件和每个后续部分文件中使用。@include
sass
@import icons/*.png
@include icons-sprite
问题是sass-rails
你不能这样做。
Rails 管道似乎以无法相互共享变量的方式编译 sass 文件。因此,精灵的@import
声明仅在声明它的文件范围内可用。
尽管@import icons/*.png
在任何需要它的地方都会导致 Rails 为相同的图像生成不同的覆盖 sprite 文件,从而导致最终样式表在其background-image
声明中丢失文件名。
我一直在通过sass
在它们都需要相同的导入声明时跳过部分来解决这个问题,将它们混合到一个单独的大样式表文件中,这不是一种理想的方法,因为它会混淆代码组织、代码维护和关注点分离。
想知道是否有更好的方法来解决这个问题,如果有人可以分享......
谢谢你。