JavaScriptCheckTweetこんばんは。ブログを覗いたら、MSIEでカラーキーワード(redとかtomatoとか)やらをHEX方式(#f01234とか)に変換するやり方が載ってました。value;};へぇ。ppBlogには、cornerplay.jsというJavaScriptがあって、指定ボックスの角を丸くしたり凸凹にしたりできる動作を担当しています。具体的には以下のような感じです。こんな感じで、コーナーをちょいと変えると、見た目のアクセントになります。指定できるように、これらカラーキーワードをHEX方式に直した対応表も含めているんですよね(147色ぐらいある)。今、考えるとほかにもやりようがある気もしますが、当時は仕方ないなぁとその対応表をJSON配列にして含めてました。Edwardsのやり方なら、対応表なんていりませんね。記述が短くなってファイルサイズも小さくなるだろうし言うことないです。これはIE限定なので、Firefoxやその他のブラウザでも動くように改良してみましょう。Deanは、「ほかのブラウザは、getComputedStyle()が使えるからバッチリだぜ。調べたところ、各ブラウザ(Firefox、Opera、Chrome・SafariなどのWebKit系)で結構動作が違っていて興味深かったです。あり出来れば避けたいところ。大体以下のような感じでいけそうです。}};流れとしてはこうです。IEでcreateTextRange()を使うのでBUTTON要素を作成。color指定した色の取得。この時点で、OperaがHEX形式の値を返してくれる。同様に、この時点で、IEはqueryCommandValue経由でBGR値を取得できるので、それをHEXに変換。IE以外でFirefoxは、ecolorは指定したままの値。getComputedStyleを使うとRGB値を返してくれる。WebKit系は振る舞いがややこしい。redがそのまま入り、tomatoなどの拡張色ならRGB形式を返す。getComputedStyleはどうかというと、まだDOMに組み入れていないので空の値を返す。WebKit系で基本17色であれば、それはJSON対応させてHEX値を返すようにします。なければ、RGB値を返してくれるのでHEX値に変換。document.body.appendChildなどでのDOM改変は必要ない点がポイントです。WebKit系の振る舞いが独特で、特別な処理が必要になりますが、いずれにせよ、DOMの改変を伴わなくて良いかなぁと(まぁcreateElementはしますが)。ちなみに、OperaでもgetComputedStyleは使えますが、FirefoxやWebKitがRGB値を返すのに対して、OperaはHEX値を返します。RGB値からのHEX値への変換は、いくつか方法があるでしょう。上では正規表現を用いています。逆にHEXからRGBへの変換も色々あると思います。")";}などですかね。ついでなので、カラーキーワードからRGB値に変換する関数も挙げておきます。考え方は基本的に同じです。DOMの改変は必要ないです。WebKit系が一抜けする可能性あり。}}こんな感じですかねぇ。ファイルサイズが小さくなるなら、cornerplay.jsを書き換えても良いなぁ。ちなみに、圧縮したら920バイトになりました。URL:設定によりTB元のページに、こちらの記事への言及(この記事へのリンク)がなければ、TB受付不可となりますのであらかじめご了承下さい。名前(ペンネーム)と画像認証のひらがな4文字は必須で、ウェブサイトURLはオプションです。(U):タグは使えません。この非公開機能を使うにはブラウザのクッキーが有効である必要があります。レスを確実に知ることができます。最新10件のコメントmimimimifaghasegawahiroshimartinsarutarosスーパーコピースーパーコピーウブロスーパーコピー時計のブランド時計コピー通販です。弊店のウブロコピー時計等のブランドコピー時計は送料手数料無料で、業界NO.1品質2年無料保証です。全サイト15%OFFキャンペーン実施中です。