2017-01-18 21 views
-1

外部CSSファイルの特定のロード順を保証する方法はありますか?通常、パフォーマンスのために複数の外部スタイルシートを非同期に読み込むことができますが、個々のユーザーがプロジェクトのドキュメントのデフォルトスタイルシートをオーバーライドできるようにしたい(同僚は色盲ですが、ライブラリの他のユーザーにとって便利なようです)を個人的な好みで使用する。外部CSSファイルのロード順

たとえば、のは、私はドキュメントでこれを持っているとしましょう:

<link rel="stylesheet" type="text/css" href="https://foo.bar/project_stylesheet.css"> 
<link rel="stylesheet" type="text/css" href=".localprefs.css"> 

望ましい結果は.localprefs.cssは(存在する場合)常にグローバルプロジェクトのスタイルシートをオーバーライドするべきであるということです。

ロードオーダーに依存しない評価オーダーのは保証はありますか?そうでない場合は、問題を強制する簡単な方法がありますか?

編集時:.localprefs.cssは、グローバルスタイルシートの選択されたスタイルをオーバーライドすることを前提としています。

答えて

1

ロードオーダーを保証する方法はありますか。最後にロードされたファイルまたはCSSが優先されます。

つまり、読み込み順ではCSSのルールの特異性については言及していません。

あなたは要素が<h1 id="foo" class="bar">だと言います。最初のスタイルシートが#foo { color: red; }で、最後のスタイルシートが.bar { color: blue; }の場合、h1の色は、クラスに優先するIDの特異性のために赤色になります。あなたは、CSSがロードされた順序で特定性を強制することはできません。特異性を強制するには、!importantを使用できます。

+0

ありがとう、男。私はドキュメントを書くのが嫌い - C++のコメントは実際の人間とコミュニケーションするよりも簡単です。 – frasnian

1

はい。それは、ファイル内にある順にロードされます。したがって.localprefs.cssは2番目に読み込まれます。

最初のファイルのセレクタがより具体的な場合は、それでも優先されます(つまり、#id.class)。しかし、結びつきは後のファイルで勝ちます(つまり、.class.class

+0

マイケルは1分であなたを倒し、私は1つの受け入れ可能な回答しか選択できないので、+1します。ありがとう! – frasnian

+1

@frasian - 技術的に私は彼を23秒遅らせるが、それは問題ではない。私はあなたの問題を解決してうれしいです:) – amflare

関連する問題