html - 如何创建表示 Sprite 图像的 CSS?

标签 html css sprite css-sprites

给定一张 sprite 图像,其中包含一个文件中的所有图像,我想生成代表每个字符的 CSS。我看过许多 sprite 创建工具,它们都假定您有一个图像目录,您想要将这些图像组合成一个 sprite,同时生成 CSS。

有这样的工具吗?我有几十张这样的 Sprite 图像需要处理。手工完成是不可能的。

谢谢!干杯!

http://imgur.com/1GHow喜欢这张图片。

最佳答案

鉴于 sprite 表排列在规则的网格中,Sass 可以轻松做到这一点:

萨斯

$sprite-sheet-width: 384;
$sprite-sheet-height: 384;
$sprite-cols: 12;
$sprite-rows: 8;

$sprite-width: $sprite-sheet-width/$sprite-cols;
$sprite-height: $sprite-sheet-height/$sprite-rows;

@for $i from 0 to $sprite-rows {

    @for $j from 0 to $sprite-cols {
        .sprite-#{$i}-#{$j} {
            $top: $i * $sprite-height;
            $left: $j * $sprite-width;
            background-position: $top $left;
        }
    }

}

编译的 CSS

.sprite-0-0 {
  background-position: 0 0; }

.sprite-0-1 {
  background-position: 0 32; }

.sprite-0-2 {
  background-position: 0 64; }

.sprite-0-3 {
  background-position: 0 96; }

.sprite-0-4 {
  background-position: 0 128; }

.sprite-0-5 {
  background-position: 0 160; }

.sprite-0-6 {
  background-position: 0 192; }

.sprite-0-7 {
  background-position: 0 224; }

.sprite-0-8 {
  background-position: 0 256; }

.sprite-0-9 {
  background-position: 0 288; }

.sprite-0-10 {
  background-position: 0 320; }

.sprite-0-11 {
  background-position: 0 352; }

[...]

.sprite-7-0 {
  background-position: 336 0; }

.sprite-7-1 {
  background-position: 336 32; }

.sprite-7-2 {
  background-position: 336 64; }

.sprite-7-3 {
  background-position: 336 96; }

.sprite-7-4 {
  background-position: 336 128; }

.sprite-7-5 {
  background-position: 336 160; }

.sprite-7-6 {
  background-position: 336 192; }

.sprite-7-7 {
  background-position: 336 224; }

.sprite-7-8 {
  background-position: 336 256; }

.sprite-7-9 {
  background-position: 336 288; }

.sprite-7-10 {
  background-position: 336 320; }

.sprite-7-11 {
  background-position: 336 352; }

您可以使用 online compiler 进行尝试

关于html - 如何创建表示 Sprite 图像的 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13407493/

相关文章:

html - html中使用 Font Awesome 的单个图标声音播放器

css - 这个间距从何而来?

c++ - 防止将一个 Sprite 移动到另一个 Sprite 上

HTML/CSS : Create a div that always fills the entire page. .. 然后里面有一个可调整大小的 div?

html - 仅引用复选框的标签选择器

html - 在纯 CSS 内容选项卡中放置图像 Logo

css - 如何在 iOS 上停止 Safari 突出显示整个图像?

css - 将边框颜色添加到范围旋钮 ionic-range

html - 用作超链接的自适应CSS Sprite不会调整大小

ios - Cocos2d : Stick two CCSprite?