owned mediaウェブ制作に役立つコンテンツを発信中!

CSSでテキストの文字に合わせたマスクをかける

CSS3ではいろんなプロパティが追加されており、様々なデザイン表現がCSSで実現できるようになっています。今回はCSSでテキストの文字に合わせてマスクをかける方法についてまとめていきたいと思います。   テキストに沿ったマスクをかけることで、背景画像をテキストの形にくり抜いたり、文字に対してグラデーションをかけれたりすることができます。ではサンプルを見ていきます。  
1. 背景画像をテキストの形にくり抜く
背景画像の表面にテキストが乗り、そのテキストの形に沿って背景画像にマスクをかけることができます。ソースコードは下記になります。ポイントは「background-clip」プロパティと文字色を透明に設定する点です。background-clipプロパティの値に「text」を指定することでテキストに合わせて背景画像がマスクされます。ただし、テキストの文字色がありますので、透明に設定してあげる必要があります。background-clipは対応ブラウザに合わせてベンダープレフィックスをつけてあげます。 【HTML / CSS】※一部抜粋
<span>TEXT</span>

span {
 display: inline-block;
 font-size: 5em;
 font-weight: bold;
 background: url(./sample.jpg) no-repeat center center/cover;
 background-clip: text;
 -webkit-background-clip: text;
 color: transparent;
}
  下記にマスクをかけたものとかけていないサンプルを並べていますので見比べてみます。マスクがかかっているイメージがわかりやすいかと思います。

OFF MASK

ON MASK

 
2. テキストの文字色にグラデーションを設定する
このbackground-clipプロパティを応用することで、テキストにグラデーションをかけることができます。要領は同じで背景画像にグラデーションを設定してあげるだけです。 【HTML / CSS】※一部抜粋
<span>TEXT</span>

span {
 display: inline-block;
 font-size: 5em;
 font-weight: bold;
 background-image: linear-gradient(-90deg, #1600FF 0%, #A200FF 30%, #FF2465 60%, #FF9400 100%);
 background-clip: text;
 -webkit-background-clip: text;
 color: transparent;
}
  実際のサンプルはこんな感じになります。

TEXT MASK

  今回はCSSでテキストの形に背景をマスクする方法についてまとめてみました。これまではこのようなデザイン表現はPhotoshopなどで画像として作成する必要がありましたが、CSSで実現できるようになると活用できる幅も広がることは間違いないですね。   (参考にさせて頂いたサイト) background-clip
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram