
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ランキング
-
画像とその下にあるテキストの...
-
画像の上にテキスト配置で、拡...
-
インラインフレームが画面サイ...
-
<ul>タグの上の空白って消せま...
-
HP作成 作成した画像を動画の上...
-
同じ画像 複数回使用
-
CS2はWebデザインのソフトとし...
-
ブロック単位にして文字列を配...
-
ボタン(画像)をクリックする...
-
PDFの保存ボタンが表示されません
-
たくさんのjpgファイルをスクロ...
-
dreamweaverで画像をクリックす...
-
バナーの貼り方とバナーにリン...
-
アイコンの背景を透過させたい
-
背景を透過加工したPNG画像を色...
-
vscodeにのcssについて質問です...
-
GIFアニメを保存すると、白いふ...
-
拡張子無しで画像を表示したいです
-
蔵衛門のアルバムの表紙の画像...
-
半透明なGIFの作成方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画像とその下にあるテキストの...
-
<hr>の縦バージョンはありますか?
-
【Webサイト】画像が小さく表示...
-
【至急お助け!】チェックボッ...
-
iframe内をクリックさせない方...
-
background-repeat CSS で切れ...
-
画像上に文字を表示するとiPhon...
-
lightbox2で画像を天地左右中央...
-
background-sizeの背景で最小値...
-
IMGタグで画像の繰り返し使用は…
-
CSSでの動画のマスク処理
-
HP作成 作成した画像を動画の上...
-
background-sizeでcontainする...
-
同じ画像 複数回使用
-
テキストにマウスを置いた時に...
-
画像の上にテキスト配置で、拡...
-
WEB上でディレクトリ内の画像を...
-
ブロック単位にして文字列を配...
-
Chat GTPで、12月のカレンダー...
-
ロールオーバーで横に並べる方...
おすすめ情報