0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【CSS】background-clip: textで背景を文字の形に切り抜く

Last updated at Posted at 2021-12-21

株式会社ココロファン - エンジニアリング事業部所属のhazamaです。

サイト制作・運用業務をメインに行っています。
最近はWordPressを触る機会が増えたので、関連した記事を書こうと思ったのですが、
CSSで面白そうなものを見つけたので、ちょっと調べてみました。
##background-clipとは

background-clip は CSS のプロパティで、要素の背景を境界ボックス、パディングボックス、コンテンツボックスのどれまで拡張するかを設定します。

引用:https://developer.mozilla.org/ja/docs/Web/CSS/background-clip

本記事では、「text」を指定しますが、引用にもある通り「border-box、padding-box」なども指定でき、主な役割としては要素の背景領域をコントロールするプロパティのようですね。
##使用できるブラウザ
image.png
引用:https://caniuse.com/background-clip-text

Opera Miniはサポート外ですが、主要なブラウザは抑えているようなので問題なさそうですね。
IEは知りません。
##やってみる
まずは適当な要素を準備

<p class="font-gr">株式会社ココロファン - エンジニアリング事業部所属のhazamaです。</p>

スタイルを記述する。
この時、文字色を透明にする必要があります。

.font-gr {
  color: rgba(0,0,0,0);
  -webkit-background-clip: text;
  background-image: url(./test.jpg);
  text-align: center;
  font-size: 60px;
}

##結果
次のように表示されました
image.png
ちなみに元画像はこちらです。
test.jpg

背景画像が文字の形に切り抜かれていますね。
chromeで見た時にベンダープレフィクスないと表示が上手くいきませんでしたが、比較的簡単に実装できました。
文字サイズをもっと大きくして、映える画像を用意していけばTOP画像代わりというのも出来そうです。
(この辺はデザインと要相談ですが)

また調べたところbackgroundでグラデーションかければ、文字にグラデーションかけることも可能なようです。
画像を使用せずに実装できるのは個人的にgood!!

「background-clip」は一昔前に出たプロパティですが、年々CSSで出来ることが広がっていて良いですね。今回は「text」だけに留めてしまいましたが、時間があれば「border-box」なども試してみたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?