
CSSスプライト・・・それシュワシュワなの?(とりあえず定番ボケは忘れずに)
ということでCompassでCSSスプライトをやってみようと思います。
ページ読み込みスピード改善のためにCSSスプライトやってやろうじゃないか!と意気込むで手動でセコセコやっちゃうと骨が折れますよね。
そこでCompass使うと一瞬でできちゃいます!
CSSスプライトで使用する画像を用意する
今回はSNSボタンを作ってみたいと思いますので、とりあえずFacebook、Google+、Twitterのアイコンを調達してきます。
利用させていただいたのは「Graphic Resources SL.」です。

この画像をimagesフォルダの中にiconフォルダを作って、そこに入れておきます。
※iconフォルダじゃなくても大丈夫です。
※imagesフォルダはconfig.rbで指定してる画像フォルダにしてください。
Compassで画像を合体
@import "compass"; @import "icon/*.png"; /* 元の画像が入っているフォルダ名(icon) */
↓↓↓ コンパイル後 ↓↓↓
.icon-sprite {
background-image: url('../images/icon-s3dfad84db6.png');
background-repeat: no-repeat;
}こんなCSSがコンパイルされるのと同時に「icon-数字やアルファベット.png」がimagesフォルダにできてます。

ねっ。すげーでしょ?
それからそれから次の1行を追加すると
@include all-icon-sprites;
↓↓↓ コンパイル後 ↓↓↓
.icon-facebook {
background-position: 0 0;
}
.icon-google {
background-position: 0 -32px;
}
.icon-twitter {
background-position: 0 -64px;
}わお!座標を自動で取得してpositionしてくれてるじゃないですか!
あとはhtmlとCSSを書いて
html
<a href="#" class="icon-facebook">facebook</a> <a href="#" class="icon-google">google+</a> <a href="#" class="icon-twitter">Twitter</a>
html適当でごめんなさい・・・
CSS
a {
display: block;
width: 32px;
height: 32px;
text-indent: -9999px;
float: left;
margin-right: 3px;
}以上でそれっぽいものの出来上がり。
※htmlとCSSは適当に書き換えてください。

まとめ
便利ですねー
楽ですねー

