2017-01-10 17 views
0

headタグにCSSスタイルシートの参照を持つマスターページがあります。また、マスターページのヘッドタグにコンテンツプレースホルダがあります。そのマスターページを使用する子ページでは、そのページに固有のCSSスタイルシート参照をヘッドのコンテンツプレースホルダに配置しました。子コンテンツプレースホルダのCSSスタイルシートが適用されていません

子ページのCSSスタイルシートには、マスターページのCSSスタイルシートの一部のスタイルを上書きするスタイルがあります。マスターページの一部のスタイルのみが、すべてではなくオーバーライドされるはずです。

マスターページのCSSスタイルシートの参照はheadタグの一番上にあり、Content Place Holderは下部にあるので、子ページのCSSスタイルシートの参照が優先されますが、そうではありません。

子ページでスタイルシートを取得して、マスターページのスタイルシートより優先させるにはどうすればよいですか?

誰かがこれが起こる原因を説明することはできますか?

+0

これは、物をレンダリングするいくつかのasp.netレンダリング方法かもしれません。子ページでスタイルを設定するクラスを持つ特定のコンテナがありますか? –

答えて

0

を移動するための方法であると私は私の質問hereへの答えを見つけました。

私のスタイルシートの参照は、この

<link href="~/Styles/PopForms.css" rel="stylesheet" /> 

ように見えたとしては~この文脈においてブラウザによって理解されていないthereを説明します。

私は

<link href="../Styles/PopForms.css" rel="stylesheet" /> 

への参照を変更し、それが今で正常に動作します。

1

2つの異なるページに同じクラス名があり、デフォルトを変更したい場合は、宣言の直後に '!important'を使用してください。

.red-background { background-color: red; } /* MASTER */ 
.red-background { background-color: green !important; } /* CHILD PAGE */ 
+0

1.私はそれを読んだことがあります!重要なことは良い習慣ではありません。 2.他のページでも使用されているスタイルシートのスタイルシート参照を使用していますが、使用しないようにしてください!重要です。 3.スタイルシート参照に!importantを使用することは可能ですか? –

+0

1. 1つの質問/バッグ/問題ごとに非常に多くのソリューションがあるということは、プログラミングではすばらしいことです。 JSを介してページ名を確認し、削除するスタイルを決定することはできますが、それは遠い方法です。 2.この場合、cssの場所を変更してもコードは機能しません。 3.私は!importantを使用しています。私にとっては、これは非常に多くの状況に最適なソリューションです。このような場合には宣言されます。 – Idoshhh

+1

子ページにコンテナクラスを作成しようとすることができます - 例えば '子コンテナ'と呼び、cssでは - > .child-container> .red-background {background-color : 緑; } – Idoshhh

1

あなたは行く!importantを使用したくない場合は、特定のクラスと子ページコンテナ/ターゲットは

.some-class { 
    background-color: deepskyblue; 
} 

.child-container .some-class { 
    background-color: deeppink; 
} 
+0

子ページのhtmlマークアップでは、各クラスにこのクラスを与える必要がありますか、それともすべてのページを含むdivに渡すには十分でしょうか? –

+1

ページ全体を保持する@DovMillerコンテナ。あなたはそれを整理して良かった。 –

+0

ありがとう!どんなイベントでもあなたは助けになってきました! –

関連する問題