[CSS]IE6でもそれなりに、CSS3で実装するツールチップのチュートリアル
Post on:2011年5月10日
sponsorsr
画像を使用せずに、スタイルシートで吹き出し状デザインのツールチップを実装するチュートリアルを紹介します。
IE6/7でも動作し、デザインもそれなりに保たれています。

[ad#ad-2]
ツールチップのベストビューはCSS3をサポートしているブラウザで、キャプチャはChromeです。

デモページ
※Chromeでのキャプチャ
ツールチップはIE6/7にも対応しており、期待通り動作します。

デモページ
※IE7でのキャプチャ
ただし、IE6/7ではツールチップのデザインが、吹き出しではなく矩形になります。

IE7でのツールチップのデザイン
※IE6も同様のデザインです。
[ad#ad-2]
ツールチップの実装
HTML
ツールチップはインライン要素に設置が可能です。
<a href="#" class="tooltip"> your text <span>Your tooltip description</span> </a>
CSS
ツールチップの吹き出し風のデザインはCSS3で実装します。CSS3非対応ブラウザは矩形で表示されます。

吹き出し風デザインの実装イメージ
.tooltip
{
position: relative;
background: #eaeaea;
cursor: help;
display: inline-block;
text-decoration: none;
color: #222;
outline: none;
}
.tooltip span
{
visibility: hidden;
position: absolute;
bottom: 30px;
left: 50%;
z-index: 999;
width: 230px;
margin-left: -127px;
padding: 10px;
border: 2px solid #ccc;
opacity: .9;
background-color: #ddd;
background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 4px;
border-radius: 4px;
-moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
.tooltip:hover
{
border: 0; /* IE6 fix */
}
.tooltip:hover span
{
visibility: visible;
}
.tooltip span:before,
.tooltip span:after
{
content: "";
position: absolute;
z-index: 1000;
bottom: -7px;
left: 50%;
margin-left: -8px;
border-top: 8px solid #ddd;
border-left: 8px solid transparent;
border-right: 8px solid transparent;
border-bottom: 0;
}
.tooltip span:before
{
border-top-color: #ccc;
bottom: -8px;
}
JavaScript
スクリプトは、IE6のホバー対策に使用します。
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(function() {
if ($.browser.msie && $.browser.version.substr(0,1)<7)
{
$('.tooltip').mouseover(function(){
$(this).children('span').show();
}).mouseout(function(){
$(this).children('span').hide();
})
}
});
</script>
sponsors











