1

私は CMS に取り組んでおり、管理コントロール パネルから CSS を追加できるようにしたいと考えています。

css を追加するときは、持っているスタイルシートの一番下に追加するか、データを DB に追加してからハンドラーを使用して取得するのが最善です。

私が見る限り、どちらも利点があるように見えます。

ファイルへの書き込み:
シンプルでコードはほとんど必要ありません
。ファイルは移植可能で、他の css ファイルと同様にコピーできます。

DB への書き込み: 各ドキュメントに必要なクラスのみをロードできるようになりました

4

3 に答える 3

2

前世で両方をやったので、答えは誰が CSS を維持しているかにかかっていると思います。

技術者以外のユーザーがいくつかの単純なスタイルを管理するための単純なインターフェイスである場合、これをデータベースに保存しますが、未加工の CSS ではなく構造化データとして保存し、実行時に CSS 自体を生成します。ただし、Sohnee が言及しているように、リクエストごとに生成されないようにする必要があります。これは不要なオーバーヘッドになるためです。フラット ファイルに生成するか、効果的にキャッシュする必要があります。

それが、ファイルの概念を理解している Web 開発者タイプの人のためのインターフェースであり、好きな CSS を書くための完全なアクセス権を彼らに与えたい場合 (そしてあなたは彼らを信頼します!)、私はそれをファイルとして保存します (もし私が開発者なら、生の CSS を使用したいと思うでしょう)。ただし、既存のスタイルシートには追加しません (それがサイトのデフォルトの基本スタイル セットであると仮定します)。別のリンク タグを使用してページで呼び出される、ユーザー定義スタイル用の別のスタイルシートを用意します。これにより、サイトの「コード」が「コンテンツ」から分離されます。また、Zhaph - Ben Duguid が、URL にある種のバージョン パラメータを追加することでブラウザが古いバージョンをキャッシュしないようにすることについてここで述べていることにも注意してください。

DB への書き込み: 各ドキュメントに必要なクラスのみをロードできるようになりました。

ドキュメントごとにクラスのみをロードするのは、一般的には悪い考えだと思います。ブラウザーは CSS キャッシング用に調整されているため、ほとんどの場合、適切なキャッシング ヘッダーを使用して外部ファイルからすべての CSS を呼び出す方が適切です。

于 2009-03-16T12:03:15.730 に答える
2

CSSファイル自体を修正します。サイト全体で動的な CSS を使用すると、スタイル シートがキャッシュされるため問題が発生するため、小さな CSS ファイルをたくさん作成するよりも、すべてのスタイルをファイルに入れ、ローカル キャッシュを使用してページを高速化することをお勧めします。

各ルールをデータベースに保存し、その情報を使用して .css ファイルを作成しても害はありません。CSS ファイル内の文字列を解析して挿入ポイントを見つけるよりも簡単ですが、CSS ファイルだけを記述するようにしてください。変化があったとき。オンデマンドで行うと、不必要にデータベースに頻繁にアクセスすることになります。

于 2009-03-16T11:35:30.667 に答える
1

スタイルを既存の CSS に追加することの最大の危険は、ブラウザがファイルのバージョンをキャッシュしている場合、ブラウザがキャッシュを更新するまで、更新されたスタイルが表示されないことです。

これを回避する 1 つの方法は、スタイル シートの呼び出しのどこかにバージョン文字列を含めることです (たとえば、(SO から))。

<link rel="stylesheet" href="/Content/all.min.css?v=2644">

ただし、これは、変更を行うたびにファイルへの呼び出しも更新する必要があることを意味しますが、これは不可能な場合があります。

とは言うものの、スタイルシートの新しいバージョンをアップロードすることが選択肢にならないことが多いスタイルを追加する場合、おそらくこれが私がとるルートです。

于 2009-03-16T11:51:18.070 に答える