CSS画像置換について

2007年12月20日

Filed under: (X)HTML,CSS — admin @ 3:58 PM

こんちゃす。海外のCSSデザインを見ていたら、text-indent: -9999px; とは違う画像置換方法を見つけました。(既出かも)

旧式では、CSS側で、text-indent: -9999px; などと指定して、テキストを飛ばして、バックグラウンドに画像を指定する下記のようなテクニックを使います。

text-indent: -9999px を使ったテクニック

HTML:
  1. <div><a href="#"><span>テキスト</span></a></div>

CSS:
  1. div a {
  2.     display: block;
  3.     width: 45px;
  4.     height: 45px;
  5.     background: url(images/bg_off.gif) no-repeat 0 0;
  6.     <strong style="color: #ff0000">text-indent: -9999px; /*ここでテキストを飛ばす*/</strong>
  7. }
  8. div a:hover {
  9.     background: url(images/bg_on.gif) no-repeat 0 0;
  10. }

しかし、これでは、キーボードでのタブ移動の際に選択がわかりにくくなって、アクセシビリティ的によくないとのことから、display: none; を使った画像置換テクニックもあります。

display: none; を使った画像置換テクニック

HTML:
  1. <div><a href="#"><span>テキスト</span></a></div>

CSS:
  1. div a {
  2.     display: block;
  3.     width: 45px;
  4.     height: 45px;
  5.     background: url(images/bg_off.gif) no-repeat 0 0;
  6. }
  7. div a:hover {
  8.     background: url(images/bg_on.gif) no-repeat 0 0;
  9. }
  10. div span {
  11.     display: none; /*テキストを表示させない。*/
  12. }

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする