テック技報最新号へ →
CSS

mix-blend-mode でノックアウト文字(透過文字)を作る

黒背景+白文字に mix-blend-mode: multiply を当てると、文字部分だけ下の背景が透ける「切り抜き」表現になる。

@jh3yy · 2026-10-10
#ブレンドモード#テキスト#視覚効果#UI

どんな時に使う?

写真やグラデーションの上にステッカー風のラベルを載せたいとき。文字色を透過 PNG で切り抜かなくても、CSS だけで背景を見せたまま文字を読ませられる。バッジ・ウォーターマーク・オーバーレイ UI に向く。

コード

css
.sticker {
  background: #000;
  color: #fff;
  mix-blend-mode: multiply;
  /* 必要なら padding / border-radius でステッカー形状に */
}
  • multiply は「乗算」。白(1,1,1)は相手の色をそのまま通し、黒(0,0,0)は相手を暗くする。結果として白文字が「穴」になり、黒の枠だけが残る。
  • 背景が明るい写真だと黒枠がはっきり見える。暗い背景では見えにくくなるので、配置場所を選ぶ。

注意点・対応状況

  • mix-blend-mode は主要ブラウザで広く対応済み。ただし親に isolation: isolate や別のブレンドがあると意図と違う結果になることがある。
  • テキストの可読性が落ちやすいので、コントラストが足りない背景では使わない。アクセシビリティ上、装飾用途に留めるのが安全。
  • 黒/白以外の色でも似た効果は出せるが、乗算の挙動を理解してから色を変える。

出典

X の元の投稿を開く