私の Web アプリは、jquery-ui と jqgrid で設定された大きなアイコンを使用しています。
jquery-ui または jqgrid をアップグレードするときに、より大きなアイコンに対応するように CSS への変更を簡単に維持するために、多数のオーバーライドがある個別の CSS ファイルを用意しています。
ご想像のとおり、このオーバーライド ファイルは、jquery-ui スタイルシートと jqgrid スタイル シートの後に含める必要があります。
すべてのスタイルシートを次のようにバンドルに入れました
bundles.Add(new StyleBundle("~/Content/dark-hive/allstyles").Include(
"~/Content/dark-hive/jquery-ui-1.8.23.custom.css",
"~/Content/ui.jqgrid.css",
"~/Content/jquery-ui-fixes.css",
"~/Content/icons.css",
"~/Content/site.css"));
しかし、それはそのようにレンダリングされています!
<link href="/Content/dark-hive/jquery-ui-1.8.23.custom.css" rel="stylesheet"/>
<link href="/Content/jquery-ui-fixes.css" rel="stylesheet"/>
<link href="/Content/ui.jqgrid.css" rel="stylesheet"/>
<link href="/Content/icons.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
バンドルが正しい順序でレンダリングされるように構成するにはどうすればよいですか?
更新
OK、これはばかげていますが、うまくいきました。
何をしても、ファイルは常に正しくレンダリングされませんでした。だから私は愚かなことを試して、最初に jquery-ui-fixes.css を追加し、最後に jquery-ui-1.8.23.custom.css を追加しました。
突然私の注文は
<link href="/Content/jquery-ui-fixes.css" rel="stylesheet"/>
<link href="/Content/dark-hive/jquery-ui-1.8.23.custom.css" rel="stylesheet"/>
<link href="/Content/ui.jqgrid.css" rel="stylesheet"/>
<link href="/Content/icons.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
javascript ファイルの名前を jqueryuifixes.css に変更したところ、下位の js ファイルで順序が保持されるようになりました。
スタイルシートの名前に - が含まれている場合、何らかの理由で最初に優先され、 - が含まれる他のファイルで順序が維持されると考えています。
誰かがこれを説明できるなら、私は彼らに小切手をあげます。