Weblog

Fahrner Image Replacement hacks

Posted at 2003-11-30T17:40:00+09:00 in Web Design

Fahrner Image Replacementという、ロゴに画像を使用しつつ、CSSが切られていたりCSS非対応なブラウザには相応のテキストを表示するCSSテクニックがあるんです。img要素のalt属性使えばいいじゃんとかそういうのはまぁ置いておいて(一応、上記URLで触れられているので、そちら参照)。コンセプト的にはかなりツボなのですが、このテクニックはあんまり意味のないマークアップを施さなきゃならない上に、このままではロゴにリンクを張るのは難しい(display:hidden;なのでポイントできない)、さらにはA List Apartでアクセシブルっぽく見えて実際にはアクセシブルじゃないよとかつっこまれているので、ちょっとどうかなとか思っていたのですが、うまいこと追加マークアップ無しで実現できたので、このテクニックを応用したものをタイトル・ロゴに導入してみました。

まずはCSSのコード。

h1 {
  border-top:1px solid rgb(51, 51, 51);
  border-right:1px solid rgb(51, 51, 51);
  border-left:1px solid rgb(51, 51, 51);
  color:rgb(51, 51, 51);
  background-color:rgb(186, 192, 195);
  background-image:url("../images/titlelogo.png");
  background-position:4px 50%;
  background-repeat:no-repeat;
}

h1 a:link, h1 a:visited, h1 a:active, h1 a:hover {
  display:block;
  width:auto;
  height:42px;
  color:inherit;
  background-color:transparent;
  text-indent:-1000px;
  text-decoration:none;
}

h1要素に、ロゴに使う画像を背景画像として指定しておきます。次に、子孫セレクタを利用して、テキストを表示させないようにがんばってます。キモはtext-indentで、これに大きめの負の値を入れてやることによって、テキストを見えないところにすっ飛ばしてやってます(See Also: Accessible Image Replacement)。これだけだとh1要素の大きさが不定になるので、h1要素の大きさを確保してやれば完成。displaywidthheightがそのための指定です。

Validで、適度にクロス・ブラウザ(Internet Explorer 6、Mozilla 1.6、Opera 7だけですが)で、適度にアクセシブルなので自己満足度は高いテクニックになりました。微妙にくだらないけど。

ちなみに、タイトル・ロゴの画像に使用したフォントは、Zurich Light Extra Condensed BTLinotype Aroma Semiboldです。かなり好き。

Recent entries from same category

同じカテゴリに分類された最近10件のエントリです。

  1. CSSで指定するフォント
  2. Linksをサムネイル化した
  3. HTML 4.01とCSS2のHTMLヘルプ
  4. pre要素へのスタイル指定
  5. よく使うライセンス・フリーのフォント
  6. CSS2 Specificationでのプロパティの出現順序
  7. ちょっとだけリデザイン @ 2006/08/29
  8. アスタリスクをプロパティ名の頭につけるというCSSハック
  9. :first-letter擬似要素と各擬似クラス絡みのInternet Explorer 6のバグ
  10. CSSコーディング・スタイル

Comments

JavaScriptに対応または有効な環境の場合、ここにはてなブックマークでのこのエントリに対するコメントが表示されます。

Weblog archives

by Category

This page was last modified on 2003-11-30T23:22:59+09:00 (in 0.184 secs).