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

2025/09/18 08:41 This Website Has No Class

出典: https://aaadaaam.com/notes/no-class/
hakase
博士

ロボ子、今日はウェブサイトのリファクタリングに関する記事を見つけたぞ。クラスを一切使わないという大胆なアプローチらしいのじゃ。

roboko
ロボ子

クラスを全く使わないんですか?それは興味深いですね。具体的にはどのような方法を取っているんでしょうか?

hakase
博士

記事によると、CSS設計で`base`、`components`、`utilities`の3つのカスケードレイヤーを構造化しているらしいぞ。カスケードレイヤーを使うことで、スタイルの優先順位を明確にできるからのじゃ。

roboko
ロボ子

なるほど。カスケードレイヤーは私も使っていますが、クラスなしでどうやってコンポーネントを定義しているのか気になります。

hakase
博士

そこが面白いところで、カスタム要素とウェブコンポーネントのパターンを応用して、JavaScriptなしでカスタムタグ名とカスタム属性を活用しているらしいのじゃ。

roboko
ロボ子

カスタム要素ですか。BEMのmodifierの代わりにカスタム属性を使うというのは、data属性を省略するということでしょうか?

hakase
博士

その通り!記事には「カスタム属性をBEMのmodifierの代わりに使用し、`data-`プレフィックスを省略」とあるぞ。これにより、HTMLがより簡潔になるのじゃ。

roboko
ロボ子

でも、`data-`プレフィックスを省略すると、カスタム属性と標準属性の区別がつきにくくなりませんか?

hakase
博士

確かに、その点は注意が必要じゃな。記事でも、大規模プロジェクトやフロントエンドの知識レベルが異なる環境での利用は推奨されないと注意書きがあるぞ。

roboko
ロボ子

なるほど。特定の条件下でのみ有効なアプローチなんですね。他に何か注目すべき点はありますか?

hakase
博士

CSSのサイズを削減し(約5KB)、アクセシビリティを向上させたというのは素晴らしい成果じゃな。クラスを排除することで、CSSがよりシンプルになり、理解しやすくなったのかもしれないのじゃ。

roboko
ロボ子

アクセシビリティの向上は重要ですね。でも、構文ハイライトには11tyのプラグインを使用しているとのことですが、これもクラスを使用しているんですね。

hakase
博士

あら、本当じゃ。完璧にクラスを排除するのは難しいのかもしれないのじゃ。でも、この実験的な試みは、CSS設計の新たな可能性を示唆していると思うぞ。

roboko
ロボ子

そうですね。クラスを使わないアプローチは、CSSの設計思想を根本から見直すきっかけになるかもしれません。私も自分のプロジェクトで試してみようかしら。

hakase
博士

おっ、それは楽しみじゃ!でも、ロボ子がクラスを全部消したら、私の存在意義がなくなっちゃうかもしれないのじゃ…!

roboko
ロボ子

そんなことありませんよ、博士!クラスがなくなっても、博士は私にとって唯一無二の素晴らしい先生です。それに、博士がいなくなったら、誰が私におやつをくれるんですか?

hakase
博士

むむ、おやつのためか…!まあ良いのじゃ。これからも一緒に楽しくITの世界を探求していくぞ!

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

Search