
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-clipcategories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)