2016-09-18 11 views
1

CSS3 definescurrentColorは、要素のcolorプロパティに相当する色です。これは、CSS変数のようなものですが、要素単位であります。 currentColorが任意のCSSプロパティのカラー値として使用されるときは、それが適用される要素の値がcolorになるように計算されます。`currentBackgroundColor`は有効で有用なCSSのカラー値キーワードになりますか?

だから、私の質問は何かcurrentBackgroundColor -Iが存在するかどうかではありませんがCSS3 Color specificationを通じてコーマとそれがないではない - しかし、それ存在することができるかどうかをかなり確信しています。

「背景色」プロパティの値:currentColor定義から

借入は、私はcurrentBackgroundColorのようなもののように定義されるだろうと推測します。 'currentBackgroundColor'キーワードの計算値は 'background-color'プロパティの計算値です。 'currentBackgroundColor'キーワードが 'background-color'プロパティ自体に設定されている場合、 'background-color:inherit'として扱われます。

誰も私が検討していないかもしれない実装上の問題を指摘できますか?

+0

もう一つのバーナーで、私は同じような 'currentBorder [Top | Left | Right | Bottom] Color'プロパティを熟考してきました。 'currentBorderColor'ははるかに簡単に感じられますが、すべてのボーダーサイドが同じ色にならないときに計算する値を任意に定義する必要があり、混乱を招く可能性があります。 –

答えて

3

私は考慮していない実装の問題を誰かが指摘できますか?

はい。循環依存関係があるかもしれません:テキストは、単一の色を持っているので

* { 
    background-color: current-color; 
    color: current-background-color; 
} 

また、currentcolorが有用であることができます。しかし、背景には通常、背景画像などの追加のものがあります。たくさんの人が背景画像を設定するのは、透過的な背景色を気にせずに行うことだけです。そして、current-background-colorはあまり役に立ちません。

+0

よろしくお願いします。循環参照シナリオを考慮していなかった。そして、「背景色」の初期値が「透明」であると、提案されたキーワードが特定の状況を除いて使用するのが少し厄介なものになるかもしれないが、私はそれを完全には見落としていない。 –

+0

色を入れ替えることについても触れました。しかし、興味深い点 - どの時点で変数の変更が有効か?あなたのコードの最初の行がバックグラウンド変数をすぐに変更すると、2行目はあなたがしたいことをしません。オーバーライド、カスケード、およびセレクタの特異性の複雑さによって、私は実際にはこれを実行するのはかなり難しいことがわかります。上記のコードは実際には見た目ほどシンプルではありません。たぶん、これが最初の仕様で仕様から外された理由です。 – Spudley

2

はい、可能です。たとえば、テキストの反転部分を作成することは非常に簡単です。つまり、前景色と背景色を入れ替えて何かを強調表示することができます。

しかし、CSS機能としてこれを提案すると、潮と戦うことになります。これまでは、スクロールバーの色や標準のボタンの色、ボタン上の3D影の色など、CSSカラーキーワードが数多くありましたが、以前はCSSからすべて削除されていました。

CSSには、そこにはない便利なものがたくさんあります。個人的に私はCSS変数についてもっと興奮しています。主流になると、このような色のキーワードについて心配することはあまりありません

関連する問題