2016-08-23 3 views
0

私はマスターページを使用するASP.Net 4.5 Webサイトを持っています。私はサイト全体で使用されているCSSページをリンクします。マスターページを使用する新しいページを追加しました。このページには、アクティブレポートビューアで使用されるため、コンテンツエリアに独自のCSSがあります。masterpageのヘッダーとフッターを上書きしないでください。

アクティブレポートビューアで新しいページに移動すると、CSSはヘッダーとフッターのマスターページからCSSを上書きしてしまいます。

新しいCSSファイルのみを許可する際の推奨事項は、私の新しいページのcontentareaにのみ影響します。

+0

これは純粋にasp.netとは関係のないCSS特異性の問題であるようです。ルールの一般ルールは、CSSルールの特異性に基づいてどのルールよりも優先されます。特異性が等しいと、ページの最後のルールが勝ちます。 Active Reports Viewerページでヘッダーとフッターのスタイルを適用したくない場合は、そのルールが必要なページはありますか?望ましくないCSSヘッダー/フッターの規則をより具体的にする(そして適用したいコンテキストに結びつける)ことで、問題が解決される可能性があります。 – devstruck

+0

あなたはscoped cssが必要かもしれません。このCSSトリックがあなたを助けるかもしれません。 https://css-tricks.com/saving-the-day-with-scoped-css/ –

+0

@VivekN 'scoped'は定義段階を過ぎていませんでした。 Firefoxでは(永遠ではなく)しばらく存続する可能性がありますが、他のブラウザでは決して実装されません。 –

答えて

0

残念ながら、CSSの範囲をコンテンツのみに限定することはできません。それはページ全体に適用されます。あなたができることは、コンテンツページのスタイルシートのクラスに別の名前を付け、ヘッダーセクションとフッターセクションに割り当てることです。たとえば。

.contentpage-custom { 
    background-color: red; 
} 

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">  
    <header class="contentpage-custom"> 
    Content Page 
    </header> 
</asp:Content> 
関連する問題