WEB日記

by KATO ~ January 9, 2010

こんにちはKATOです。

今回はJava Scriptを使わずCSSのみでのサイト作成という場合を想定しての実験。
なので、とりあえずCSS Sprites的発想でナビゲーションぽいのを作ってみた。

まず、用意した画像がこれ。↓

sprite1

で、HTMLとCSS。↓


<ul>
<li class="a"><a href="#">リンク1</a></li>
<li class="b"><a href="#">リンク2</a></li>
<li class="c"><a href="#">リンク3</a></li>
<li class="d"><a href="#">リンク4</a></li>
<li class="e"><a href="#">リンク5</a></li>
</ul>

ul {
	overflow: hidden;
}

li {
	list-style: none;
	float: left;
}

li a {
        background: url(sprite.gif) 0 0 no-repeat;
        display: block;
        width: 100px;
        height: 0;
        padding-top: 30px;
        overflow: hidden;
}

.a a {}
.b a { background-position: -100px 0; }
.c a { background-position: -200px 0; }
.d a { background-position: -300px 0; }
.e a { background-position: -400px 0; }

.a a:hover { background-position: 0 -30px; }
.b a:hover { background-position: -100px -30px; }
.c a:hover { background-position: -200px -30px; }
.d a:hover { background-position: -300px -30px; }
.e a:hover { background-position: -400px -30px; }

そして完成。↓

おぉ〜、バッチリ。
一応、コーディング内容を考慮してtext-indent: -9999px;は使わずpaddingとoverflow: hidden;で
テキストを非表示に。まぁ、text-indent: -9999px;とあんまり変わらないような気はしますが・・・
しかーし、このやり方だと問題もあります!!
ブラウザの設定でCSSが切られている場合はOKなんだけど、画像が切られているとアウト!!
なんにも表示されませ〜ん。まぁ、画像切ってる人そんなにいないと思うけど・・・
けど100%そうだと断言できないのでサイトの内容によっては完全に却下。
ま、適材適所。内容によって上手く使い分けるしかないということですね〜

Comments are closed.