首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sass / Compass精灵

Sass / Compass精灵
EN

Stack Overflow用户
提问于 2013-08-13 10:23:27
回答 1查看 279关注 0票数 1

嗨,我对生成sprite文件有一些问题,我想在文件末尾添加新文件,但是罗盘按字母顺序添加新文件,然后所有位置都在改变,如何强迫罗盘在sprite文件的末尾添加文件。

沙斯

代码语言:javascript
复制
$sprite-spacing: 20px;
$sprite-layout: horizontal;
@import "sprite/*.png";
@include all-sprite-sprites;

配置

代码语言:javascript
复制
on_sprite_saved do |filename|
  if File.exists?(filename)
    FileUtils.cp filename, filename.gsub(%r{-s[a-z0-9]{10}\.png$}, '.png')
  end
end

on_stylesheet_saved do |filename|
  if File.exists?(filename)
    css = File.read filename
    File.open(filename, 'w+') do |f|
      f << css.gsub(%r{-s[a-z0-9]{10}\.png}, '.png')
    end
  end
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-13 12:15:22

不要手动设置背景位置。您可以在不需要Compass生成类的情况下自动做到这一点。

比如说,你有以下妖精:

  • 图像/
    • 社会/
      • facebook.png
      • twitter.png

SASS根据@piouPiouM的建议更新:

代码语言:javascript
复制
$social-sprite-dimensions: true
@import "social/*.png";

#my-semantic-selector {
  @include social-sprite(facebook);
}

#another .semantic > selector {
  @include social-sprite(twitter);
}

这就产生了以下干净的CSS:

代码语言:javascript
复制
.social-sprite, #my-semantic-selector, #another .semantic > selector {
  background: url('/images/social-sa75ff48010.png') no-repeat;
}

#my-semantic-selector {
  background-position: 0 -50px;
  width: 27px;
  height: 25px;
}

#another .semantic > selector {
  background-position: 0 -25px;
  width: 27px;
  height: 25px;
}

可以编写一个更通用的混合器,允许多个sprite集合。它需要罗盘、雪碧助手雪碧基。如果需要多个sprite集合,并且需要一个示例,请在注释中说明这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18206585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档