概要
- CSSリセットの存在を否定し、 要素自体のデフォルト活用 を推奨
- クラス排除 に挑戦し、HTMLタグやカスタム属性でスタイリングを管理
- セマンティックなマークアップ とアクセシビリティの向上
- コンテキストスタイルやカスタム要素利用のメリット・課題
- 大規模プロジェクトへの適用には慎重な検討が必要
CSSリセットという幻想と、要素本来の力
- CSSリセットは 万能ではない という認識
- ブラウザ組み込み要素 を「カスタム要素の“カスタム”抜き」と捉える視点
- 要素本来のデフォルト を積極活用する設計思想
クラス排除への挑戦
- クラス完全廃止 のためのサイトリファクタリングを実施
- CSS Zen Garden時代 以来のクラスレスアプローチへの回帰
- 現代HTML/CSS での制約が創造性を刺激
スタイル構造とその見直し
- CSSは base, components, utilities の3レイヤー構成
- base:タグセレクタ中心
- components:クラス依存を廃止し要素や属性で管理
- utilities:完全削除
- セマンティック要素 の利用増加
- 共通パターン抽出 による要素デフォルトの強化
- コンテキストスタイル (入れ子や:where(), :has()等)の活用
コンテキストスタイルの落とし穴
- 過剰なコンテキスト指定で セレクタが複雑化
- 例:li:has( > a + p) のような 深い入れ子と複雑な条件
- 可読性・保守性 の低下リスク
カスタム要素と属性による新たなパターン
- Web Components的発想 でカスタム要素名・属性を活用
- BEMのmodifier的用途 もカスタム属性で置換可能
- 例:note-pad, random-pattern などの カスタムタグ と属性
- [shape-type="1"] などでバリエーション管理
- data-属性以外の 任意のダッシュ区切り属性 も利用可能
クラス再発明の議論とその違い
- 「クラスの再発明」との指摘もあるが
- カスタム要素名+属性 は将来Web Components化も容易
- タグと属性の組み合わせ で一貫したシステム形成
メリットと課題
- CSS量削減( 全体で約5KB に)
- アクセシビリティ向上 と クリーンなマークアップ
- 著者側の設計・計画負担 は増加
- 大規模・多人数開発では 推奨しづらい
- セマンティック価値喪失や余計なラッパー の問題も
今後の展望と葛藤
- 個人サイトには満足 だが、万能解ではないという認識
- クラスの有用性に 疑問を持ち始めた 心境の変化
- 今後の制作スタイルに 長期的な影響 を及ぼす予感
例外事項
- 11tyのシンタックスハイライト のみクラス利用を継続
- クライアントサイドJS導入や著者体験の悪化を避けるため
- 100%クラスレス化は未達成
このアプローチは HTMLタグと属性の本来の力 を最大限に引き出し、 CSS設計思想の再考 を促すものです。しかし、 全てのプロジェクトに適用できる万能策ではない ことも明らかです。