1

Fireworks CS6には、選択したオブジェクトのCSS3プロパティをコピーするパネルが含まれています。

ただし、コードは非常に冗長で面倒なので、JavaScriptでそれをクリーンアップする拡張機能を記述したいと思います。

任意の数のrgb値を同等の小さい16進コードに変換する方法を理解することを除いて、必要なことはすべて実行しました。

たとえば、グラデーションに対して返される一般的な文字列には、次のものが含まれます。

background: -moz-linear-gradient(50% 0% -87deg, rgb(0,0,0) 0%, rgb(0,255,64) 28%, rgb(0,177,122) 40%, rgb(0,0,255) 68%, rgb(37,37,230) 76%, rgb(153,153,153) 100%); 
background: -ms-linear-gradient(-87deg, rgb(0,0,0) 0%, rgb(0,255,64) 28%, rgb(0,177,122) 40%, rgb(0,0,255) 68%, rgb(37,37,230) 76%, rgb(153,153,153) 100%);
background: -o-linear-gradient(-87deg, rgb(0,0,0) 0%, rgb(0,255,64) 28%, rgb(0,177,122) 40%, rgb(0,0,255) 68%, rgb(37,37,230) 76%, rgb(153,153,153) 100%);
background: -webkit-gradient(linear,50% 0%,55% 100%, color-stop(0, rgb(0,0,0)), color-stop(0.28, rgb(0,255,64)), color-stop(0.4, rgb(0,177,122)), color-stop(0.68, rgb(0,0,255)), color-stop(0.76, rgb(37,37,230)), color-stop(1, rgb(153,153,153)));
background: -webkit-linear-gradient(-87deg, rgb(0,0,0) 0%, rgb(0,255,64) 28%, rgb(0,177,122) 40%, rgb(0,0,255) 68%, rgb(37,37,230) 76%, rgb(153,153,153) 100%);
background: linear-gradient(-87deg, rgb(0,0,0) 0%, rgb(0,255,64) 28%, rgb(0,177,122) 40%, rgb(0,0,255) 68%, rgb(37,37,230) 76%, rgb(153,153,153) 100%);
border-color: rgb(198,34,221);

r、g、bの値を16進数に変換する関数はすでにありますが、文字列をループしてrgbコンポーネントを分離し、それぞれを変換する方法がわかりません。

4

1 に答える 1

1

この正確な構文 (空白を含まない 3 つの 10 進数の rgb) のみをキャプチャする場合は、それで十分string.replace(/rgb\((\d+),(\d+),(\d+)\)/g, yourFunction)です。最初のパラメータは rgb() シーケンス全体で、次の 3 つは R、G、B の数値です。rgb() 全体を置き換えるには、新しい文字列を返す必要があります。

于 2012-05-12T09:49:49.300 に答える