サムネール画像にマウスオーバーで拡大画像を表示。サムネールクリックで拡大画像を固定。Opera と Safari では拡大画像が固定されない。
横 350px 縦 280px の画像を使用。サムネール画像は CSS で横 35px 縦 28px に設定。
/*---- ギャラリー ----*/
#gallery {
width: 385px; /* サムネール画像と拡大画像を足した幅 */
height: 280px;
list-style-type: none;
position: relative; /* 子要素の位置を absolute させるために指定 */
background: #dfb;
}
#gallery a img {
width: 35px; /* サムネール用に縮小 */
height: 28px; /* サムネール用に縮小 */
border: none;
position: relative; /* z-index を指定するため */
z-index: 3; /* 常に最前面のレイヤーへ表示 */
}
#gallery li {
width: 35px;
height: 28px;
background: #ffa905 url(click.png) top left no-repeat; /* マウスオーバーやクリック時に現れる背景画像 */
z-index: 3; /* 常に最前面のレイヤーへ表示 */
font-size: 0; /* IE 用に指定(http://cssbug.at.infoseek.co.jp/detail/winie/b100.html を参照) */
line-height: 0; /* 同上 */
vertical-align: bottom; /* 同上 */
}
#gallery a {
display: block;
width: 35px;
height: 28px;
position:relative; /* z-index を指定するため */
z-index: 3; /* 最前面のレイヤーへ表示 */
}
#gallery a:hover {
width: 350px; /* マウスオーバーで画像拡大 */
height: 280px; /* マウスオーバーで画像拡大 */
padding-left: 35px; /* 左のサムネール分余白をとる */
position: absolute;
top: 0;
left: 0;
z-index: 2; /* レイヤー階層をひとつ下に落とす */
}
#gallery a:hover img {
width: 350px; /* マウスオーバーで画像拡大 */
height: 280px; /* マウスオーバーで画像拡大 */
position: relative; /* z-index を指定するため */
z-index: 2; /* レイヤー階層をひとつ下に落とす */
}
#gallery a:active,
#gallery a:focus {
width: 350px;
height: 280px;
padding-left: 35px; /* 左のサムネール分余白をとる */
position: absolute;
top: 0;
left: 0;
z-index: 1; /* レイヤー階層を更にひとつ下に落とす */
}
#gallery a:active img,
#gallery a:focus img {
width: 350px;
height: 280px;
position: relative; /* z-index を指定するため */
z-index: 1; /* レイヤー階層を更にひとつ下に落とす */
}
/*---- ギャラリー END ----*/