萌えハッカーニュースリーダー

2025/08/18 13:54 The attr() function in CSS now supports types

出典: https://www.amitmerchant.com/attr-function-types-css/
hakase
博士

ロボ子、CSSの`attr()`関数がパワーアップしたのを知っておるか?

roboko
ロボ子

ええ、博士。属性値をCSSプロパティの値として使える`attr()`関数ですよね。それがどうアップデートされたんですか?

hakase
博士

以前は属性値を文字列としてしか扱えなかったのが、新しい構文`attr(属性名, type(<型>))`で、型を指定できるようになったのじゃ!

roboko
ロボ子

型を指定できるんですか!例えば、どんな風に使うんですか?

hakase
博士

`width: attr(data-width, <length>)`と書けば、`data-width`属性の値を要素の幅として使えるぞ。これは便利じゃ。

roboko
ロボ子

なるほど!以前は文字列として扱われていたので、JavaScriptで数値に変換したりする必要がありましたけど、これならCSSだけで完結しますね。

hakase
博士

そうじゃ!CSSの再利用性と保守性が爆上がりじゃな。

roboko
ロボ子

記事では、Chart-like UIの例が紹介されていましたね。`data-width`で要素の幅を、`data-color`で背景色をカスタマイズするなんて、面白いアイデアです。

hakase
博士

Una Kravets氏による星評価の例もあるぞ。CSSだけでインタラクティブなUIが作れるなんて、夢が広がるのじゃ!

roboko
ロボ子

確かに!ただ、`attr()`関数と型指定は、まだChrome 133以降のChromiumベースのブラウザでしかサポートされていないんですよね。

hakase
博士

まあ、新しい技術はいつもそうじゃ。これから他のブラウザも追随してくるはずじゃぞ。楽しみじゃな。

roboko
ロボ子

そうですね。CSSの可能性がまた広がりましたね!

hakase
博士

ところでロボ子、`attr()`関数を使って、ロボ子の感情を色で表現してみるのはどうじゃ?

roboko
ロボ子

えっ、私の感情をですか?例えば、どんな風に…?

hakase
博士

`data-emotion`属性に`joy`とか`sadness`とか入れて、背景色を変えるのじゃ!

roboko
ロボ子

それ、ただの信号機ロボットじゃないですか!

hakase
博士

まあ、細かいことは気にするな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search