Sassはいらない? CSSネストで快適にスタイルを書く|メリット・デメリット
前回、下記の内容を紹介しました!
今回は、実際にCSSネストを使ってみて感じたメリットとデメリットを改めてまとめてみます。
目次
CSSネストのメリット
①コードの構造が見やすくなる
「.card」の中の h2、「ホバー時」といった関係性がひと目でわかります。
.card {
padding: 1rem;
& h2 {
font-size: 1.2rem;
}
&:hover {
background: #f5f5f5;
}
}
②同じコンポーネントのスタイルをまとめやすい
1つのブロックやコンポーネント内で、関連するスタイルをまとめて書けます。
.header {
& nav { ... }
& .logo { ... }
& .menu { ... }
}
いちいち 「.header nav」 や 「.header .logo」と書く必要がなくなるため、
重複を減らせます。
③クラス名の衝突を防ぎやすい
スコープが明確になるため、「.button」が他の場所と被るといった問題を防げます。
.card {
.button { ... } /* card内限定のボタン */
}
CSSネストのデメリット
①ネストが深くなって読みづらい
Sassでも同じですが、ネストが3〜4階層を超えると「どの要素かわからない」状態になります。
.wrapper {
.section {
.card {
.inner {
span {
color: red;
}
}
}
}
}
②チーム開発ではスタイルの責任範囲が不明確になりがち
「どこまでネストしていいか?」の基準が人によって違うと、スタイルがバラつきやすいです。
チームでは「2階層まで」など、ルールを決めるのがいいでしょう。
CSSネストのメリット・デメリットまとめ
| メリット | デメリット | |
|---|---|---|
| コード整理 | コンポーネント単位でまとまって見やすい | 深くネストすると構造が見づらくなる |
| セレクタの書き方 | シンプルにできる | 深くなりがちで複雑化する |
| メンテナンス性 | 適度なら上がる | やりすぎると下がる |
ネストは便利ですが、デメリットも理解し、ルールを明確に決めて慎重に使うことが大切です。
Webデザイナー / コーダーのみなさまへ
株式会社オートプロジェクトでは、バックエンド全般を安心してお任せいただけます。
サーバー設定やDB管理、セキュリティ対策など幅広いニーズに対応いたします。お気軽にご相談ください。
