CSS でロールオーバー その3
前回はボタンに背景画像を3枚使うのではなくて、1枚でロールオーバー時に画像を動かすということをしましたが、今回は文字も画像にしてしまおう。という事をしてみようと思います。
文字も画像にしてまおう!
文字を画像にするということは、背景に文字を入れて、文字は消してしまえばいいわけです。あるいは、ノンブレーキスペース( )を入れて背景を入れてあげれば、問題なく背景画像だけの、ボタンは作れます。
ただし、何らかの原因でCSSが読み込まれなかった場合には、そのボタンは全く表示されない可能性があります。
というわけで、文字は入れましょう。
今回使うボタンはこれです。
この画像を使って、前回と同じような事をするとこうなります。
見事に文字が表示されています。
この文字を、いかに上手く消すかという事ですが、 display : none; を使いましょう。
display : none; を使うと囲まれたものは表示されません。ただし、HTMLでは書かれているので、サーチエンジンのロボットはちゃんと読み込んでくれます。
ただし、それを悪用して全く違うことをずらずら書いたりしていると、スパムになるらしいので、気をつけましょう。
HTML
<ul class="linktest_07 clearfix"> <li> <a> <em>Button 01</em> </a> </li> </ul>
CSS
/* TEST 07 */ ul.linktest_07 { list-style-type: none; margin: 0px; padding: 0px; } ul.linktest_07 li { float: left; height: 30px; width: 100px; } ul.linktest_07 li a { background-image: url(img/roll_over_back3_02.png); background-repeat: no-repeat; background-position: 0px 0px; display: block; height: 30px; width: 100px; } ul.linktest_07 li a em { display: none; } ul.linktest_07 li a:hover { background-position: 0 -30px; } ul.linktest_07 li a:active { background-position: 0 -60px; } ul.linktest_07 br { clear: both; } .cliafix:after{ content: "."; display: block; height: 0; font-size:0; clear: both; visibility:hidden; } .cliafix {display: inline-block;} /* Hides from IE Mac */ * html .cliafix {height: 1%;} .cliafix {display:block;} /* End Hack */
今回のポイントは、 display : none; です。隠れていても HTML では記述されているので、ご安心ください。他のメディア用CSSで表示させたりすることもできます。
また、今回はボタンに表示に <ul> を使用しています。
この説明は他のところで行いたいと思います。
include("../../memo.php"); ?>
memo::side_memo("CSS"); ?>