ゼロD
誰もがすべてのスタイルを含む単一のファイルでCSSを使い始めます。
style.css
1D
すぐにかさばり、CSSをページ要素ごとにいくつかのファイルにグループ化することにしました。
html_elements.css
header.css
main-area.css
footer.css
これは十分に便利ではなく、機能ごとにスタイルをグループ化する人もいます。
typography.css
layout.css
sticky-footer.css
(フッターだけでなく、多くの要素の宣言が含まれています)
2D
プロジェクトに多くのCSSがある場合、両方のグループを同時に使用する必要がある場合があります。CSSファイルの構造は2次元になります。
layout/
grid-system.css
header.css
sidebars.css
look/
typography/
main.css
headers.css
lists.css
backgrounds/
html_elements.css
header.css
main-area.css
footer.css
さて、例は作成されていますが、あなたは確かに私が何を意味するのか理解しています。
この時点まではすべて問題ありません。
メディアクエリを入力してください
これは私のCSS構造がファンクアップするところです。
上記の2D構造に加えて、メディアクエリによってコードを構造化する必要があります。
- 私のスタイルのいくつかは普遍的です(どこにでも適用されます)
- 一部は特定の画面サイズにのみ適用されます。
- 小さい;
- 中くらい;
- 大きい;
- 特大。
- 一部は、画面サイズの特定のグループに適用されます。
- 小さい(非モバイルスタイル)を除くすべて。
- 小中(サイドバーが側面にない場合)
- largeおよびxlarge(サイドバーがある場合)
私は、既存のCSSファイル間でメディアクエリスタイルを分散させることによって問題を克服しようとしました。ブレークポイントのコンパス拡張機能は大いに役立ちますが、スタイルシートが乱雑になりすぎます。ファイルに記述されていないときに特定のスタイルを見つけると、多くの苦痛が生じます。
メディアクエリ、次に要素と機能でグループ化してみました。ただし、ファイル構造は2次元であるため、新しいディメンションを追加することはできません。追加できるのは、別のレベルの階層のみです。だから、それは優雅ではありません。また、それは非常にかさばります。
そのため、一方の軸にメディアクエリがあり、もう一方の軸に要素と関数の醜い組み合わせがある2D構造になります。
私はそれに完全に満足していませんが、私はただ優雅な解決策を思い付くことができません。提案してください。