CSSカラー変数で透明度を適用するにはどうすればよいですか?
P粉348088995
2023-08-20 18:51:07
<p>CSS 変数にアクセスできるように、electron でアプリを設計しています。 <code>vars.css</code> でカラー変数を定義しました。 </p>
<pre class="brush:css;toolbar:false;">:root {
--色: #f0f0f0;
}
</pre>
<p>この色を <code>main.css</code> で使用したいのですが、透明度を適用します: </p>
<pre class="brush:css;toolbar:false;">#element {
背景: (どういうわけか var(--color) を使用し、透明度を設定します);
}
</pre>
<p>これを行うにはどうすればよいですか?プリプロセッサは使用せず、CSS のみを使用します。純粋な CSS の回答を希望しますが、JavaScript/jQuery ソリューションも歓迎します。 </p>
<p>透明であってはいけない背景画像を使用しているため、<code>opacity</code> は使用できません。 </p>
アルファ チャネルを既存のカラー値に適用することはできません。つまり、既存の 16 進値 (
#f0f0f0
など) にアルファ コンポーネントを追加して、その結果の値を別の属性で使用することはできません。ただし、カスタム プロパティを使用すると、
rgba()
で使用するために 16 進値を RGB トリプレットに変換し、その値をカスタム プロパティ (カンマを含む!) に保存できます。を使用します。 var()
を使用して、その値を目的のアルファ値を持つrgba()
関数に置き換えると、正しく動作します。