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

CSS 2019.08.02

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

Tags: ,

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

この記事を書いた人

オガワ シンヤ

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

  • Twitter

コメントフォーム

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。

内容に問題なければ、お名前・ハンドルネームとメールアドレスを入力いただき、下記の「コメントを送信」ボタンを押してください。

CAPTCHA


この記事もよく読まれています

Scroll to Top
ご質問・ご相談はありませんか ?