我々は最近、私私たちが「CSSコンパイル」と名付けたものを実装しました。これは、methodinが答えたようなものです。私たちのコンパイル(PHPバックエンドによって行われる)は、モジュールごとにコンパイルされた単一のCSSファイルを生成し、実行時に1つのCSSファイルがロードされます。これにより、パフォーマンスを心配することなく、必要なだけ多くのCSSファイルを定義できるようになりました。このために、プロジェクトの設定ファイル(例えば、ログイン、ホームなどのモジュール、すべてのモジュール用に読み込まれるCSSファイル)にmodule-CSSファイルのリレーションを含む配列$moduleCssrelation
を定義しました。それがスタイル・アーキテクチャーの中核であるため、最終的に詳細を記述してください。
これは、我々が使用される基本的なCSSの計画である: - 詳細に研究
- すべてのモジュールがスタイルパターン/再利用可能なコンポーネントを指摘し、
-
そのヘッダ部、フッターセクション、左側のメニューを見てすべてのモジュールに必要です。
- 中央にいくつかのリストの表形式の表示セクションを持つモジュールがあります(共通ヘッダー、フッター、および左メニューを残しています)。ユーザーの詳細ページ、クラス詳細ページ。
デザイナーのチームによって1つのファイルにすべてのスタイルが配信されました。次に、前の手順で検討したスタイルパターンに従って、単一のCSSファイルを断片化しました。唯一の上場ページに表示されるコンポーネントのすべてのスタイル定義を含むヘッダ、フッタ、左側のメニュースタイル
listings.css
を含む
common.css
- だから、私たちは、のようないくつかのファイルを作成しました。
details.css
詳細ページの場合にのみ必要となる.detailsRedHeading
クラスがある場合は、thedomが言及したように、ここで定義します。
余分なスタイル - 多くのモジュールがそのスタイルでポップアップを必要とするとしたら、そのスタイルをcommon.css
または他のファイルに定義するのではなく、popups.css
に入れます。私たちが望むように多くのCSSファイルを定義しなければならない自由を忘れないでください。後でテーマを容易にするため
は私がすべての装飾(色、背景ながら、1つのファイル内のすべてのレイアウト(位置、大きさなど)を入れて試してみた」のアイデアを適用したことがありません
を変更しますなど)を別のものに置き換えてください。しかし、それがあなたを助けてくれたら、あなたはこのアーキテクチャにそれを加えることができます。 common.css
をcommon_layout.css
に、common_design.css
に、そして他のものについても同様にします。
また、可能な限り最大限のスタイル再利用を行うようにしてください。このようにスタイル宣言を避ける: -
.listingsBody
{
font-family:Trebuchet MS,Liberation Sans,DejaVu Sans,sans-serif;
font-size: 12px;
..
some listing page styles
..
}
.detailsBody
{
font-family:Trebuchet MS,Liberation Sans,DejaVu Sans,sans-serif;
font-size: 12px;
..
some details page styles
..
}
が代わりにこれを持っている: -
.siteMediumFont
{
font-family:Trebuchet MS,Liberation Sans,DejaVu Sans,sans-serif;
font-size: 12px;
}
.detailsBody
{
..
some details page styles
..
}
.listingsBody
{
..
some listing page styles
..
}
私は多くのデザイナーがこれを行うことを見てきました。より複雑な場合のこの習慣は、事態を後で本当に困難にする可能性があります。コンパイルの
詳細: -
我々はCSSの変更を適用し終わった後、私たちは以下のんのコンパイルコードを実行します -
$moduleCssrelation = array("class_details"=> array("details","popups"));
配列$moduleCssrelation
トラバースからのコンパイル済みのファイルを作成します各モジュールのcssファイル名の内容。例: class_details
モジュールにファイルdetails.css
,popups.css
が必要な場合はというファイルが作成され、class_details
とこれら2つのcssファイルを必要とする他のモジュールにもロードされます。