attr()
HTMLの属性値をCSSプロパティの値として直接参照できる強力な関数です。属性値を特定の型(length、color等)として解釈させたり、属性が存在しない場合のデフォルト値を設定できます。現在のところ主要ブラウザでの完全サポートはまだですが、将来的にHTMLとCSSの連携を大幅に強化する機能です。
概要
HTMLの属性値をCSSプロパティの値として直接参照できる強力な関数です。属性値を特定の型(length、color等)として解釈させたり、属性が存在しない場合のデフォルト値を設定できます。現在のところ主要ブラウザでの完全サポートはまだですが、将来的にHTMLとCSSの連携を大幅に強化する機能です。
対応ブラウザ
デスクトップ
Chrome 未対応
Edge 未対応
Safari 未対応
Firefox 未対応
基本構文
CSS
.bar {
width: attr(data-width length, 100px);
background: attr(data-color color, gray);
} 実務での使いどころ
-
データ属性に基づく動的スタイリング
HTML の data-* 属性の値をCSSプロパティに直接マッピングし、JavaScriptなしでデータ駆動のスタイル変更を実現できます。
注意点
- 拡張版の attr() はまだ主要ブラウザで実装されていません。現時点では content プロパティでの文字列取得のみが広くサポートされています。
アクセシビリティ
- attr() で生成されたコンテンツはスクリーンリーダーに読み上げられる場合があります。意味のある情報はHTML側で適切に提供してください。