透明度のあるグラデーションカラーを指定するときにCSS変数を使用する方法はありますか?.
:root {
--accent-color: #dfd0a5;
}
h1{
background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(red(var(--accent-color)), green(var(--accent-color)), blue(var(--accent-color)), 1));
}
変数を使用することはできますが、CSSの単一の16進値から個々の赤、緑、青のコンポーネントをサンプリングすることはできません。
単に既存のRGBトリプレットにアルファコンポーネントを適用することを検討している場合は、16進値の代わりに トリプレット全体を10進値のコンマ区切りリストとして指定 で、直接に代入することができます。 rgba()
は、単一の不透明なトークンとして機能します。
:root {
--accent-color: 223, 208, 165;
}
h1 {
background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(var(--accent-color), 1));
}
rgba()
を使用して個々のR、G、およびB値を指定および制御する場合は、各色成分の変数を10進値として指定し、rgba()
内の各変数を参照する必要があります。そのように機能します:
:root {
--accent-red: 223;
--accent-green: 208;
--accent-blue: 165;
}
h1 {
background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(var(--accent-red), var(--accent-green), var(--accent-blue), 1));
}