ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS 変数は「url()」関数内で使用できますか?

CSS 変数は「url()」関数内で使用できますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-22 09:04:44477ブラウズ

Can CSS Variables Be Used Inside the `url()` Function?

CSS 変数は url() で補間できますか?

CSS 変数は広く使用されていますが、補間に関しては依然として制限がありますurl() 関数内でそれらを指定します。この制限は、url() トークンの従来の性質から生じます。

最新の CSS では、カスタム プロパティの補間が基本的な機能です。これにより、rgba() などのさまざまな関数に動的な値を挿入できます。ただし、url() 関数は、この規則の例外となります。

url(var(--url)) を使用する場合、パーサーはそれを、次のトークンの組み合わせとしてではなく、単一の url() トークンとして解釈します。 url() 関数トークンと変数式。その結果、変数は URL 自体として扱われ、補間が無効になります。

この問題を回避するには、url() で複数の変数式から URL トークンを構築しないようにします。これには、 --uo: url(; --uc: ); などのアプローチが含まれます。および背景: var(--uo) var(--url) var(--uc);。カスタム プロパティには、一致しない文字列区切り文字や url() トークンの一部を含めることはできません。

背景の場合、解決策は、カスタム プロパティ内で完全な url() 式を指定し、それを直接置換することです。

:root {
  --url: url("https://download.unsplash.com/photo-1420708392410-3c593b80d416");
}

body {
  background: var(--url);
}

また、var() の代わりに JavaScript を利用して補間を実行することもできます。

以上がCSS 変数は「url()」関数内で使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。