0

問題は、divを60%の不透明度に設定する必要があり、ホバーすると90%の不透明度にアニメートするときに始まりました。

唯一の落とし穴は、このボックスの上に常に完全な白(非透明)のPNG画像が必要なことです。

そこで、画像を含む別のdivをオーバーレイするトリックを試し、余白を使用して画像を所定の位置に配置しました。ただし、マウスが画像の上にある場合、背景のdivアニメーションのホバーは機能しません。

HTML

<div style="position:relative;top:-1px;left:0">
<div class="ontop"><img src="http://www.designdownloader.com/item/pngs/button01_google/button01_google-20110813210436-00005.png" alt="OneSpring - Play Video" /></div>
                <div id="box-video">


            </div>            
            </div>
</div>

CSS

#box-video {
    position: absolute;
    background-color:rgba(0,57,129,1);
    top: 0;
    left: 0;
    padding: 15px;
    font-family: 'Helvetica Neue Light', Arial, Helvetica, sans-serif;
    width: 210px;
    height: 130px;
    opacity: 0.6;
    filter: alpha(opacity=60);
     -webkit-transition: opacity .25s ease-in-out;
     -moz-transition: opacity .25s ease-in-out;
     -ms-transition: opacity .25s ease-in-out;
     -o-transition: opacity .25s ease-in-out;
     transition: opacity .25s ease-in-out;
}
#box-video:hover, .ontop:hover {
    cursor: pointer;
    /*color: #ffffff;*/
    text-decoration: none;
    opacity: 0.9;
    filter: alpha(opacity=90);
    zoom: 1;
    -webkit-transition: opacity .25s ease-in-out;
    -moz-transition: opacity .25s ease-in-out;
    -ms-transition: opacity .25s ease-in-out;
    -o-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out;
}

div.ontop {
    position: relative;
    top: 4.7em;
    left:30px;
    z-index:1002;
}

これが問題を示すJSFiddleです:

http://jsfiddle.net/xpancom/fZrWA/

画像の上にいるときでも、どうすれば背景ホバーを機能させることができますか?

4

3 に答える 3

1

あるいは、:beforeまたは:after疑似クラスを使用することもできます。

それはあなたのコードをたくさんきれいにします。

HTMLは次のようになります。

<div style="position:relative;top:-1px;left:0">
  <div id="box-video"></div>
</div>

ここにそれらの詳細があり、ここにフィドルがあります:http: //jsfiddle.net/jyHMf/

それがあなたが探していたものであるかどうかを確認してください。

于 2013-01-08T01:12:36.167 に答える
1

pointer-eventsあなたはCSSプロパティについて話していると思います。ポインタ-イベント| MDN

したがって、コードは次のようになります。

div.ontop {
  position: relative;
  top: 4.7em;
  left:30px;
  z-index:1002;
  pointer-events: none;
}

http://jsfiddle.net/8CZEY/

于 2013-01-08T01:26:32.107 に答える
0

コンテナにIDを設定します。

<div id="box" style="position:relative;top:-1px;left:0">

hover代わりにイベントをコンテナに配置し、子要素に影響を与えます。

#box:hover {
  cursor: pointer;
}

#box:hover #box-video {
  opacity: 0.9;
  filter: alpha(opacity=90);
  zoom: 1;
  -webkit-transition: opacity .25s ease-in-out;
  -moz-transition: opacity .25s ease-in-out;
  -ms-transition: opacity .25s ease-in-out;
  -o-transition: opacity .25s ease-in-out;
  transition: opacity .25s ease-in-out;
}

デモ: http: //jsfiddle.net/fZrWA/2/

于 2013-01-08T01:01:41.923 に答える