Result
SVG等を使わず、純粋にCSSだけで白抜き文字を作る、みたいなやつ
縁取りだけならtext-shadowやtext-strokeで済みますが上のデモのような白抜き文字だとSVGが主流になっていると思います
SVGが使えないケースはblend-modeより少ないと思いますが選択肢があると良いなという事で
メリットはコード書くのが楽、デメリットはblend-modeな点でしょうか
css
.label { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 8px 25px; border-radius: 35px; font-size:2.5rem; font-weight: bold; } .label.style { background: #fff; color: #000; mix-blend-mode: screen; }
逆に黒背景等で文字をくり抜くならmix-blend-mode: multiply;にして文字色をホワイトにすると良いと思います
いずれにしてもSVGほど応用は効きません
html
<div class="parent"> <div class="label style">サンプルです</div> <img src="foo.jpg"> </div> </div>
コードが少なく済む分、パフォーマンスは少し良くなるかも。
※ベンチマークとったわけではないので適当に聞き流してください
can i use
blend-modeのブラウザ対応状況です。IE無視でいいならSVGでもblend-modeでも良いかもしれない。