スクリプト不要、CSSのみでテキストリンクにポップアップ画像を表示させてみようと思います。
例えばサイトのリンク集ページ等で、リンク先のサイトがどんなサイトなのかを前もって知っておけるようにすると、クリックに対する不安は軽減すると思います。
また、文章で説明するよりも、サムネイル画像の方がイメージしやすく、わかりやすい場合もあると思います。
まず(X)HTMLに以下のように記述していきます。
<dl><dt>検索・ポータルサイト</dt><dd><a href="http://www.yahoo.co.jp/" title="Yahoo! JAPAN">Yahoo! JAPAN<span class="yahoo">(http://www.yahoo.co.jp/)</span></a></dd><dd><a href="http://www.google.co.jp/" title="Google">Google<span class="google">(http://www.google.co.jp/)</span></a></dd><dt>ブログ</dt><dd><a href="http://wemolog.blog61.fc2.com/" title="WeMo">WeMo<span class="wemo">(http://wemolog.blog61.fc2.com/)</span></a></dd><dd><a href="http://yoshiyukinet.blog10.fc2.com/" title="よしゆき.blog">よしゆき.blog<span class="yoshiyukiblog">(http://yoshiyukinet.blog10.fc2.com/)</span></a></dd></dl>特別なことはあまりしていません。
ポイントとしては、強調部分で示した通り、<span>タグで囲った部分のみです。
その他は、別にサンプルコードのように<dl>タグでなくても、見出しタグ(<h1>〜<h6>)と<ul>タグを使ってもいいですし、好きなようにマークアップして大丈夫です。
また、<span>タグの中身も、別にリンク先URLである必要はありません。
サンプル内で後述しますが、文字列は別の物でもかまいません。
後はこれに対してCSSでいくつか指定してやればオーケーです。
dd a { position: relative; }dd a span { display: block; visibility: hidden; width: 128px; height: 128px; position: absolute; top: -130px; left: 30px;}dd a:hover { background: #fff; } /* この指定を抜かすとうまくポップアップされません */dd a:hover span { visibility: visible; text-indent: -10000px;}span.yahoo { background: url(画像パス); }span.google { background: url(画像パス); }span.wemo { background: url(画像パス); }span.yoshiyukiblog { background: url(画像パス); }まずa要素に対する「position:relative」ですが、これはポップアップ画像の表示位置を絶対指定する為に、a要素がその基準位置となるよう指定しています。
「visibility:hidden」と「visibility:visible」はテキストリンクに対してオンマウスか否かで表示・非表示を切り替える為の指定です。
a:hoverに対する背景指定ですが、これがないとポップアップ表示そのものがされなくなります。
ただし#fff(白色)である必要はないので、ページ背景色等と併せて指定してもらえば大丈夫です。
最後に「text-indext:-10000px」ですが、これは画像置換の常套手段で、これも大きなマイナス値であればサンプル通りである必要はありません。
(インデントを大きなマイナス値にすることで、テキストを画面外に飛ばしています)
実際の表示と詳細については、ポップアップリンク集サンプルをご覧下さい。
また、今回のサンプルにはサイトサムネイルの自動生成サービスのSimple APIを利用させて頂きました。
Copyright © 2006 よしゆき All Rights Reserved. Template designed by よしゆき Photo by 写真素材 [フォトライブラリー]