0

すべてのページのヘッダーとフッターを含むマスター ページがあります。ページのスタイル ( page1.aspx、page2.aspx、page3.aspx ) を含むcss ファイル ( master.css ) を呼び出します。

しかし、今では page1.aspx だけのために別の css ファイル ( firstpage.css ) があります。これは、master.css の page1.aspx のスタイルをオーバーライドする必要があります (混沌!!)

この比較を行うツールはありますか? - 指定された 2 ページで類似のタグを検索し、それらをマージします

page1.aspx 以外のすべてのページで master.css を呼び出すことはできますか?

4

6 に答える 6

1

master.css の後に firstpage.css を含め、CSS が適切に構造化されている場合、firstpage.css の内容が master.css の内容を上書きします。

master.css に非常に具体的なルールがある場合は、firstpage.css の同じルールに対してより高いセレクターの特異性の値を確保する必要があります。ここで詳細を読むことができます: http://www.w3.org/TR/css3-selectors/#specificity http://css-tricks.com/specifics-on-css-specificity/

最後の手段として、ページ固有のルールで !important を使用できます。ただし、これはおそらく将来さらに多くの痛みを引き起こす可能性があります。

于 2013-06-25T12:53:44.830 に答える
0

カスケード スタイルシートは、カスケード方式で機能するように設計されています。ただし、マスター ページに既定のコンテンツを含むコンテンツ プレースホルダーを作成することはできます。これには、ページで firstpage.css を使用してオーバーライドできる master.css を含めることができます。個人的には、サイト内のすべてのページに共通の css ファイルを設計し、新しいスタイルをオーバーライドして追加できる「ページ固有の」css ファイルを 1 つ以上用意します。

于 2013-06-25T12:57:55.477 に答える
0

のスタイルを一切使用したくない場合は、この方法で行うことができますsite.cssSite.master現在の参照がある場所で、それを次のようにsite.css置き換えます: (変更する必要がありますabout.aspx)

site.css- への参照を完全に削除してから、いくつかのスタイルが必要であると判断し、それらを新しいスタイルシートに追加する必要がある場合、CSS の重複が発生する可能性があるため、これは潜在的に悪いことです。

<%
    string sPagePath = System.Web.HttpContext.Current.Request.Url.AbsolutePath;
    System.IO.FileInfo oFileInfo = new System.IO.FileInfo(sPagePath);
    string sPageName = oFileInfo.Name.ToLower();

    if (sPageName == "about.aspx") { %>
        <link href="~/Styles/about.css" rel="stylesheet" type="text/css" />
    <% } else { %>
        <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
    <% } %>

現在のページ名コードを取得する - https://stackoverflow.com/a/1833313/2470724

編集

また、オーバーライドするスタイルの種類によっても異なります。テキストなどの場合は、class本文のコンテンツに a を追加し、それに応じて各ページのスタイルを設定できます。

于 2013-06-25T12:56:47.640 に答える
0

サイトに多くのページがない場合は、css ファイルのコンテンツ領域を定義し、各ページで参照するスタイルを指定できます。ただし、100ページある場合、これは面倒な場合があります。

このページが大きく異なる場合は、マスター ページを使用しないことを検討してください。

また、スタイルが上書きされる可能性があることを考慮してください。スタイルが適切に定義されていれば、両方の css ファイルを同じページに配置すると、望ましい結果が得られる可能性があります。

于 2013-06-25T12:51:35.383 に答える