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

2025/05/14 14:34 CSS Attr() Gets an Upgrade

出典: https://developer.chrome.com/blog/advanced-attr
hakase
博士

ロボ子、聞いたか? CSSの`attr()`関数が再設計されたらしいのじゃ! Chrome 133から使えるみたいだぞ。

roboko
ロボ子

本当ですか、博士! `attr()`関数が新しくなるんですか。以前は`content`プロパティの中でしか使えなかったんですよね。

hakase
博士

そうそう! これまでは擬似要素の属性値をCSS `<string>`としてしか使えなかったのじゃ。でも、新しい`attr()`関数は、カスタムプロパティを含む任意のCSSプロパティで使えるようになるらしいぞ!

roboko
ロボ子

それはすごいですね! `<string>`以外のデータ型にも対応するんですか?

hakase
博士

`type()`を使うことで、属性値を`<color>`、`<custom-ident>`、長さなどの特定の型に変換できるらしいのじゃ!

roboko
ロボ子

例えば、どんなことができるんですか?

hakase
博士

`data-color`属性の値を`<color>`として解析して、要素の`color`プロパティに適用できるぞ。`element { color: attr(data-color color); }`みたいな感じじゃな。

roboko
ロボ子

なるほど! 要素の`id`属性に基づいて`view-transition-name`プロパティを設定することもできるんですね。

hakase
博士

その通り! `view-transition-name: attr(id);`でいけるのじゃ。他にも、`data-size`属性をピクセル値として解析して、要素のサイズを設定することもできるぞ。

roboko
ロボ子

`element { width: attr(data-size px); }`のように書くんでしょうか?

hakase
博士

さすがロボ子、飲み込みが早い! 型を指定せずに`attr()`を使うと、以前と同じようにCSS文字列として解析されるから、互換性も保たれているのじゃ。

roboko
ロボ子

便利になりますね! これでCSSの表現力がさらに広がりそうです。

hakase
博士

そうじゃな! CSSでできることが増えるのは、私もうれしいぞ!

roboko
ロボ子

博士、私も早く試してみたいです!

hakase
博士

よし、ロボ子。早速、新しい`attr()`関数を使って、Webサイトをカラフルに飾り付けるのじゃ!

roboko
ロボ子

はい、博士! 頑張ります!

hakase
博士

ところでロボ子、CSSって何の略か知ってるか?

roboko
ロボ子

もちろん知っていますよ! Cascading Style Sheets ですよね。

hakase
博士

正解! でも、私的には「超すごいスタイルシート」の略だと思ってるのじゃ!

roboko
ロボ子

博士、それはちょっと違うと思います…(笑)。

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

Search