≪ Today I learned. RSS購読
公開日
タグ
CSS
著者
ダーシノ(@bc_rikko)

background-clipでテクスチャ画像を使ったテキストやボーダーを表現する

Safari 18.2background-clip: border-areaがサポートされた。

サポート状況は以下のとおり。

background-clipを使うことで、background-imageなどで指定した背景を切り抜き、表示することができる。

デザイン性重視のウェブサイトでも、画像をつくって<img src="..." alt="テキストの説明">みたいなことをせずに、そのまま表示できる。ただし、背景画像を透過させるためにcolor: transparentをしているため、background-imageの読み込みに失敗すると何も見えなくなってしまうため、フォールバックのテストが必要だ。

<section class="clip">
  Hello world.
<section>
.clip {
  /* 色が残っていると背景画像が見えないため */
  color: transparent;
  border-color: transparent;

  background-image:
    url(/* ボーダーのテクスチャ */),
    url(/* テキストのテクスチャ */);
  background-clip:
    border-area,
    text;
}

デモ

※一部ブラウザでは正常に表示できません

Hello world.

デモ画像

border-clipを使ったサンプル画像