2012-05-08 17 views
0

私はビデオが透けて見えるように透明な部分を持つpng画像の下にあるビデオを持っています。html5画像の下に画像

<div id="Layer2" style="position:absolute; z-index:2; left: 0px; top: 0px; width: 960px; height: 640px; visibility: visible"> 
<div align="left"><img src="http://www.mysite.com/wp-content/uploads/picture.png" width="960" height="640" /></div> 
</div> 
<div id="Layer1" style="position:absolute; z-index:1; left: 251px; top: 91px; width: 640px; height: 360px; overflow: hidden; visibility: visible; "> 
<div align="left" >[FMP poster="http://www.mysite.com/wp-content/uploads/thumb.jpg" width="640" height="360"]http://www.mysite.com/wp-content/uploads/movie.webm[/FMP]</div> 
</div> 

ビデオをクリックできるようにして、人々がビデオコントロールにアクセスできるようにするにはどうすればよいですか?

私はCSSポインタイベント:noneプロパティを見てきましたが、これはFirefoxとSafariブラウザでのみ機能します。私は私自身のビデオコントロールボタンを作成して、より高いZインデックスを持つ画像の上に置くことができますが、私はブラウザのネイティブビデオコントロールを使用することを好むでしょう。これを行うより良い方法はありますか?

+0

ビデオ上のその画像の目的は何ですか?動画の再生中にも表示する必要がありますか? – fcalderan

+0

ちょうどいいことは、ビデオ上の画像の一部が透明ではないということです。 –

+0

メディアプレーヤーのコントロールをブロックしないように画像を配置できますか? – Jack

答えて

2

Support for the CSS3 pointer-events propertyはかなりかすかです。私は次の2つのオプションがあると思う再実装プレイヤーがコントロールしなくても、あなたが望むものを達成するために

  1. は、利用可能なHTML5のビデオライブラリのいくつかを見てください。私はこれらのうちの1つがあなたが必要とするレベルにコントロールをスタイルすることを可能にすると確信しています。

  2. マスクイメージを上、右、下、左のスライスに分割し、要素を枠に入れ、必要に応じてオーバーレイします。限りフレーム要素のどれもが、ビデオコントロールをオーバーレイしないよう、あなたは大丈夫でなければなりません

+0

返信ありがとうございますが、それは正確にボーダーではないので、私は後になっています。 –

+0

私が何をしているかについては、中央に透明なボックスを備えた黒いPNG画像を想像してください。今度は、その画像の下にhtml5の

+0

オーバレイされたPNGは、その下にある要素とのやりとりを常にブロックするので、これを行う方法はないと思います。しかし、私の元の答えはまだ立っていると思います(少なくともマークアップを使ってビデオ要素のフレームを実装することについての部分)。私は、画像を上、右、下、左のスライスに分割し、これらを使ってエレメントを枠に入れ、必要に応じてそれらをオーバーレイすることをお勧めします。どのフレーム要素もビデオコントロールの上に重なっていない限り、大丈夫です。 –

1

残念ながら、(わきそれが邪魔にならないように、イメージを壊すから)あなたの唯一のオプションは、独自のコントロールと場所を作ることですそれらを透明な画像上に表示する。 togglePlayがある

<video controls="false" id="myVid"> 
    ... 
</video> 
... 
<img src="play.png" id="playButton" onclick="togglePlay()" /> 

function togglePlay() { 
    var vid = document.getElementById("myVid"); 
    var button = document.getElementById("playButton"); 
    if(vid.paused) { 
     vid.play(); 
     playButton.src = "pause.png"; 
    } else { 
     vid.pause(); 
     playButton.src = "play.png"; 
    } 
} 

あなたが好きしかし、直接あなたのビデオの上に置き、例えば、ボタンのスタイルを、彼らにあなたの透明なイメージよりもhigerのZインデックスを与えることができ、それらを作りますあなたがマウスアウトしたときに消えてしまいます(または、あなたが特定のx/y範囲外にマウスを移動してしまうようなスクリプトを使用するなど)。

+0

apsillersありがとう、私はnet.uk.sweetとして提案するように、私はzインデックスすることができますpremadeコントロールライブラリを見つけた。コードをありがとう、私はそれをいくつかの段階で利用するかもしれません。 –

+0

好奇心が強い、あなたはどのライブラリを使いましたか? – apsillers

+0

[videojs](http://videojs.com/) –

関連する問題