home
twitter
ページトップへ
目次
  • 「background-clip」は何ができるプロパティ?
  • 「background-clip」に設定できる値は?
  • 「border-box」を使う。(初期値。)
  • 「padding-box」を使う。
  • 「content-box」を使う。
  • 「text」を使う。
  • 「background-clip: text」は対応していなブラウザもあるので注意。
  • ベンダープレフィックスとは?
  • 「@supports」を使って条件分岐させる。
  • 画像が読み込まれないとテキストが見えなくなってしまう。
  • 「background-clip」で設定できるのは表示領域の範囲であることに注意。
  • 公式定義について。
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ。
about
categories
page
archive
皇帝ペンギンブログ

2023/09/05 (更新日:2024/07/11)

【CSS】「background-clip」の使い方。【背景画像の表示領域の設定。】

Categories > CSSの基本編
CSSの「background-clip」の使い方が詳しく知りたい。

この記事はこのような方へ向けて書いています。

この記事で得られる知識!

  • 「background-clip」で何ができるのか?
  • 「background-clip」の使い方!
  • 「background-clip」使う上での注意点!

この記事を読むことで、これらの知識が得られます。

この記事でサクッと「background-clip」について学習しちゃって下さい!

また、下の動画でも「background-clip」プロパティについて詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!
では、内容へ入っていきますね!
目次
非表示
  • 「background-clip」は何ができるプロパティ?
  • 「background-clip」に設定できる値は?
  • 「border-box」を使う。(初期値。)
  • 「padding-box」を使う。
  • 「content-box」を使う。
  • 「text」を使う。
  • 「background-clip: text」は対応していなブラウザもあるので注意。
  • ベンダープレフィックスとは?
  • 「@supports」を使って条件分岐させる。
  • 画像が読み込まれないとテキストが見えなくなってしまう。
  • 「background-clip」で設定できるのは表示領域の範囲であることに注意。
  • 公式定義について。
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ。

「background-clip」は何ができるプロパティ?

「background-clip」を使うことで、背景画像の「表示領域の範囲」の設定ができます。

背景画像の設定をするなら、知っておいた方がいいかなと思います!
まずはどんな感じで使うか見てもらう。

「background-clip」を使ってみる。1

このように、水色の境界線をつけた要素に背景画像の設定をしました。

そこで、「background-clip」を使うと、下のように、背景画像の表示領域の範囲の変更ができます。

「background-clip」を使ってみる。2

なるほど!イメージできたよ。

「background-clip」に設定できる値は?

「background-clip」に設定できる値は、下記の通りです。

「background-clip」に設定できる値!

  • border-box (初期値。)
  • padding-box
  • content-box
  • text(対応してないブラウザあり)

これらがありますね。

※「text」は、対応していないWebブラウザもあるので注意が必要です。それに関してもこの記事の中で詳しく解説しています。

※他には、「unset」などの、「グローバル値」も使えます。

また、「グローバル値」については下記の記事で解説しています。

【CSS】「グローバル値」とは?「initial」「inherit」「unset」「revert」【分かりやすい】

関連記事

「border-box」を使う。(初期値。)

「border-box」を使うと、背景画像の表示領域は、「border領域を含む範囲」に広がります。

なので、背景画像の表示領域は「borderボックス」いっぱいになる、ということですね。

使ってみるとこんな感じ!

「background-clip」に「border-box」を使う。

.container {
  background-clip: border-box;
}
境界線が点線になってるから、どこから背景画像の表示領域がどこから始まっているか分かりやすいね!

青い点線の境界線をつけました。その境界線の下まで、背景画像が表示されていることが確認できますね。これが初期値です。

「padding-box」を使う。

「padding-box」を使うと、背景画像の表示領域は、「padding領域を含む範囲」に広がります。

なので、背景画像の表示領域は「paddingボックス」いっぱいになる、ということですね。

背景画像の表示領域は、「border領域」まで広がりません。

使ってみるとこんな感じ!

「background-clip」に「padding-box」を使う。

.container {
  background-clip: padding-box;
}
たしかに、背景画像が「border領域」に入ってないね。

「content-box」を使う。

「padding-box」を使うと、背景画像の表示領域は、「content領域を含む範囲」に広がります。

なので、背景画像の表示領域は「contentボックス」いっぱいになる、ということですね。

背景画像の表示領域は、「padding領域」まで広がりません。

使ってみるとこんな感じ!

「background-clip」に「content-box」を使う。

.container {
  padding: 100px;
  background-clip: content-box;
}
たしかに、背景画像が「padding領域」に入ってないね。

「text」を使う。

※「text」は対応してないブラウザもあるので注意してください。

「padding-box」を使うと、背景画像の表示領域は、「テキストの中」になります。

使ってみるとこんな感じ!

「background-clip」に「text」を使う。

.container {
  background-clip: text;
  color: transparent;
}

「colorプロパティ」に「transparent」としないと、背景画像が見えないので注意してください。

文字色を透明にしてあげれば、文字色の後ろについている背景画像が見えます。

「background-clip: text」は対応していなブラウザもあるので注意。

「Can I use」で調べてみた。

Can I use

「Can I use」という、CSSのプロパティなどが「どのWebブラウザで使えるか」という対応状況を調べることができるサイトで調べてみると、一部のブラウザでは「-webkit-」というベンダープレフィックスが必要であることが確認できます。

「Google Chrome」もそうなので、注意が必要です。

.container {
  -webkit-background-clip: text;
}

このように書けばOKです。

ベンダープレフィックスとは?

ベンダープレフィックスとは、まだ標準化されていないCSSのプロパティや値など、試験的や非標準的なものに対してつける「接頭辞」のことです。

例えば、こんな感じ。

.container {
  background-clip: text;
  -webkit-background-clip: text;
}

「-webkit-」の部分がベンダープレフィックスです。

  • 「-webkit- 」
  • 「-moz- 」
  • 「-o-」
  • 「-ms-」

などがあります。

ChromeやSafari、 新しいバージョンの Opera、などのWebKit ベースのブラウザ用には、「-webkit- 」。

Firefoxには、「-moz- 」。

Internet Explorer と Microsoft Edgeには、「-ms-」。

WebKit 導入前の古い Operaには、「-o-」。

ですかね。

「@supports」を使って条件分岐させる。

「@supports」はCSSの「アットルール」と呼ばれるもので、「アットルール」とはCSS の動作を規定するものです。

その「@supports」を使うことで、特定の宣言がブラウザに対応しているかどうかで、条件分岐させることができます。

@supports ( background-clip: text ) {
  .container {
    background-clip: text;
    color: transparent;
  }
}

このように書くと、()の中の「background-clip: text」が対応しているブラウザでは、その中の宣言ブロックが有効になり、

対応していないブラウザの場合は、その中の宣言ブロックは無効となります。

CSSの「宣言」とは?

CSSの「宣言」とは、「CSSのプロパティと値の組」のことです。

「background-clip: text」などが宣言です。

CSSの「宣言ブロック」とは?
.container {
  background-color: #000;
  background-image: url(gra.jpg);
  background-clip: text;
  -webkit-background-clip: text;
}

CSSの「宣言ブロック」とは、複数の宣言を集めたものです。

中括弧「{}」で囲まれた部分を指します。

画像が読み込まれないとテキストが見えなくなってしまう。

もし画像が上手く読み込まれなかった場合、「colorプロパティ」には「transparent」としているので、文字色が透明でテキストが見えなくなってしまいます。

なので、「background-colorプロパティ」の設定も同時にしておきましょう。これで「テキストが見えなくなる」というのが防げます。

「background-clip」で設定できるのは表示領域の範囲であることに注意。

「background-clip」で設定できるのは表示領域の範囲なので、「background-position」を使って背景画像を動かしたとしても、表示領域の外では、背景画像は表示されないので注意してください。

どんな感じか?

「background-clip」は表示領域の範囲の設定をしている。1

このように、「background-clip」に「content-box」を使いました。

そして、この背景画像を「background-position」を使って、動かしてみます。

「background-clip」は表示領域の範囲の設定をしている。2

.container {
  background-clip: content-box;
  background-position: -300px;
}

このように、背景画像を「background-position」を使って動かしても、背景画像は「contentボックス」の範囲で表示されています。

「content-box」とすると、背景画像が「padding領域」には入らないことに注意してください。

公式定義について。

「background-clip」の公式定義は、下記の通りです。

公式定義

  • 初期値は、「border-box」
  • 継承は、なし
これについても、知っておいてください!

参考リンク。

標準仕様。
https://drafts.csswg.org/css-backgrounds/#background-clip

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

Can I use
https://caniuse.com/?search=background-clip

あわせて読みたい記事。

【CSS】「グローバル値」とは?「initial」「inherit」「unset」「revert」【分かりやすい】

関連記事

まとめ。

「background-clip」を使うことで、背景画像の「表示領域の範囲」の設定ができる。

「background-clip」に設定できる値は下記の通り。

「background-clip」に設定できる値!

  • border-box (初期値。)
  • padding-box
  • content-box
  • text(対応してないブラウザあり)

※他には、「unset」などの、「グローバル値」も使える。

「background-clip: text」は対応していなブラウザもあるので注意。

ベンダープレフィックスとは、まだ標準化されていないCSSのプロパティや値など、試験的や非標準的なものに対してつける「接頭辞」のこと。

「@supports」を使って条件分岐させることができる。

「background-clip」の公式定義は、下記の通り。

公式定義

  • 初期値は、「border-box」
  • 継承は、なし
こんな感じですかね。
また、下の動画でも「background-clip」プロパティについて詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!
それではこんな感じでこの記事を終わります!

ではまた!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.