画像でナビゲーションメニューを作成し、CSSトランジションと不透明度を使用して画像のグロー効果にマウスを合わせてアニメーション化しました。SEOの目的で、ナビゲーションメニューにテキストリンクを含めたいと思います。
グロー効果は、CSSbackground-image
とhtmlの前景画像を使用して行われます。マウスオーバーすると、前景画像の不透明度がゆっくりと0になり、下の背景画像が表示されます。
position:relative
親div
とを使用して、画像の上にテキストを配置する方法を考え出しposition:absolute
ましたp
。ただし、マウスをテキストの上に置くと、テキストが画像の上にあるため、画像の上にマウスを置いたとは見なされなくなります。その結果、グロー効果は機能しません。
フラッシュでは、あるオブジェクトにマウスオーバーすると、別のオブジェクトに変更が加えられるのは非常に簡単です。CSSでこれを行う方法はありますか?そうでない場合、javascriptは私が必要なことを行うことができますか?
編集
返信ありがとうございます。これがコードです。ごちゃごちゃしてしまったらお詫びします。私は何年もHTMLコーディングを行ったことがなく、CSSを使ったことがありません。
これまでのところ、最初のボタンにテキストとリンクを配置しただけです。
<div id="nav">
<ul>
<li><a href="index.htm"><p class="homebutton">HOME</p><img class="navbutton" src="_images/home-button.png" alt="Website Navigation. Home Button" title="Home" height="115" width="120" /></a></li>
<li><img class="navbutton" src="_images/how-button.png" alt="Website Navigation. How To Use Our Services Button" title="How To Use Our Services" height="115" width="120" /></li>
<li><img class="navbutton" src="_images/playstation-button.png" alt="Website Navigation. Playstation Repair Button" title="Playstation Repair" height="115" width="120" /></li>
<li><img class="navbutton" src="_images/xbox-button.png" alt="Website Navigation. Xbox Repair Button" title="Xbox Repair" height="115" width="120" /></li>
<li><img class="navbutton" src="_images/wii-button.png" alt="Website Navigation. Wii Repair Button" title="Wii Repair" height="115" width="120" /></li>
<li><img class="navbutton" src="_images/reviews-button.png" alt="Website Navigation. Customer Reviews Button" title="Customer Reviews" height="115" width="120" /></li>
<li><img class="navbutton" src="_images/map-button.png" alt="Website Navigation. Location And Map Button" title="Location and Map" height="115" width="120" /></li>
<li><img class="navbutton" src="_images/contact-button.png" alt="Website Navigation. Contact Us Button" title="Contact Us" height="115" width="120" /></li>
</ul>
<!-- end .nav --></div>
CSS
#nav {
background-image: url(../_images/nav-bg.png);
width:960px;
height:115px;
margin-bottom:10px;
position:relative;
}
.navbutton {
-webkit-transition:opacity 0.7s ease-in-out;
-moz-transition:opacity 0.7s ease-in-out;
-o-transition:opacity 0.7s ease-in-out;
transition:opacity 0.7s ease-in-out;
float:left;
}
img.navbutton:hover {
opacity:0;
}
.homebutton {
position:absolute;
left:19px;
top:70px;
color:rgba(255,255,255,1);
font-weight:bold;
font-size:16px;
}
編集2
わかりやすくするためにフィドルを作成しました:http://jsfiddle.net/sK5q2/
ご覧のとおり、マウスをテキストの上に置いても画像はフェードしません。