
CSSで動画のマスク処理を考えています。
具体的には
https://www.rondomark.jp/
のように背景のブロックがあり、その中にdivで括った動画をvideoタグで読み込み、それを
CSSでマスク処理をするということを考えていますが、
Chromeはローカルでも動作し、FireFoxはサーバに乗せたら動いたのですが、
Edgeは一部挙動がおかしいところはありますが、調整はできそうです。
IE11が上手くいかず教えていただければ幸いです。
下記のようなコードで試しています。
【HTML】
<div class="main">
<div class="video_box">
<video class="movie video active" loop="" preload="true" autoplay="autoplay" muted="muted" playsinline="" webkit-playsinline="" width="xxx" height="xxx" src="xxx.mp4"></video>
</div>
</div>
【CSS】
.main{
width: xxxpx;
height: xxxpx;
background: url(xxx.jpg) no-repeat center center;
}
.video {
-webkit-mask-image:url(xxx.svg);
mask-image: url(xxx.svg);
mask-mode: alpha;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position:left top;
mask-position:left top;
-webkit-mask-size: contain;
mask-size: contain;
position: absolute;
}
No.1ベストアンサー
- 回答日時:
こんにちは
>IE11が上手くいかず教えていただければ幸いです。
原因は、単純にIEがmask-imageに対応していないということでしょう。
https://caniuse.com/#search=mask-image
簡単に試してみただけですが、代替案になりそうな例を一つ挙げておきます。
別にマスクレイヤを作成して、そのまま重ねれば、ほぼ同様の効果が得られるものと思われます。
HTMLに、あまり意味のないレイヤ要素を作成するのが嫌であれば、.mainをposition:relativeなどにしておいて、.video_box::afterをposition:absoluteでレイヤ代わりにすればマスクレイヤとして使えます。
(Chromeで試したところ、.video::afterではうまくいきませんでした)
ただし、mask-imageの場合と、上記のレイヤの場合では透明/不透明の部分の扱いが逆になりますのでご注意ください。
また、IEは背景画像のSVGにも対応していないようですので、背景画像でマスクする場合は通常画像(gif、pngなど)を利用するか、あるいは、::afterではなくマスク用の要素をHTML内に作成するといった調整が必要かも知れません。
ありがとうございます。
png等で代替できないか試してみます。
一旦GIFを使ってIE11は凌ぎましたが、
今後も踏まえてご提示の方法を少し時間をとって検証してみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Webサイト】画像が小さく表示...
-
<hr>の縦バージョンはありますか?
-
WEB上でディレクトリ内の画像を...
-
【至急お助け!】チェックボッ...
-
背景部分を透けさせてデスクト...
-
要素の幅をいろんな写真の幅に...
-
background-sizeの背景で最小値...
-
lightbox2で画像を天地左右中央...
-
ワードプレスで事前定義されたc...
-
CSSで背景画像をランダムに表示...
-
iframe内をクリックさせない方...
-
背景画像を反転させる方法
-
<BODY>タグに複数のstyle属性
-
画像の大きさに合わせて文字の...
-
画像とその下にあるテキストの...
-
画像上に文字を表示するとiPhon...
-
background-sizeでcontainする...
-
背景画像をブラウザ上部に隙間...
-
インラインフレームが画面サイ...
-
下にスクロールしても、追従す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像とその下にあるテキストの...
-
<hr>の縦バージョンはありますか?
-
【至急お助け!】チェックボッ...
-
【Webサイト】画像が小さく表示...
-
background-sizeでcontainする...
-
iframe内をクリックさせない方...
-
画像の上にテキスト配置で、拡...
-
同じ画像 複数回使用
-
background-repeat CSS で切れ...
-
ページごとに背景画像を変更し...
-
IMGタグで画像の繰り返し使用は…
-
ホームページの背景について・・
-
要素の幅をいろんな写真の幅に...
-
画像上に文字を表示するとiPhon...
-
コーディング中、右側に謎の余...
-
cssで画像と文字を同じ位置にす...
-
HP作成 作成した画像を動画の上...
-
lightbox2で画像を天地左右中央...
-
ネットスケープでのスタイルシ...
-
CSSでスクロールバー
おすすめ情報