私はかなり長い間、ASP.NET を使用して Web サイトを開発してきました。ASP.NET でテーマとスキンがどのように機能するかを初めて学んだとき、それが素晴らしく簡単であることがわかりました。
しかし、後になって、App_Themes のアプローチが非常に煩わしいことに気付き始めました。また、そこに挿入した CSS は、まったく柔軟ではありません。何か不足していますか?
CSS ファイルは、テーマを使用して aspx ページに自動的に追加されます。
私が最初に Web 開発を始めたとき、これは役に立ちました。しかし、後になって CSS のことをどんどん学んでいくうちに、これが本当に厄介だと思うようになりました。場合によっては、特定の CSS ファイルを追加しても役に立たないページがいくつかあります。
そして最悪の部分は、常にアルファベット順に追加されるため、どのファイルが最初かを制御できません. これは、何らかの「リセット」CSS ファイルを実行した場合に特に重要です。したがって、リセットされたCSSファイルをアルファベット順で一番上にランク付けしたいので、ファイルの命名は常にあなたが望むものになるとは限りません.
これに対する解決策は、すべての CSS コードを 1 つのファイルに入れることであると認識しています (これは、実際には運用環境に適しています)。しかし、これは非常に柔軟性がなく、CSS コードの管理が非常に難しくなります。
URL 書き換え
Web サイトに追加される CSS ファイルは、書き換え後の URL ではなく、実際の aspx ページへの相対パスであるため、これは大きな問題です。
たとえば、この URL: http://www.example.com/date/category/item.aspxがhttp://www.example.com/items.aspx?id=itemから書き換えられた場合。そのページ内の CSS ファイルへのリンクは次のようになります。
<link href="App_Themes/ThemeName/style.css" type="text/css" rel="stylesheet" />
あるべき場所:
<link href="../../App_Themes/ThemeName/style.css" type="text/css" rel="stylesheet" />
または単に:
<link href="http://www.example.com/App_Themes/ThemeName/style.css" type="text/css" rel="stylesheet" />
したがって、ブラウザーが CSS ファイルを見つけられないため、Web ページのデザインが壊れます。
これらは、テーマに関して私が抱えている 2 つの主要な問題です。したがって、App_Themes アプローチを捨てて、「古い学校」の CSS デザイン (つまり、通常のフォルダーを作成し、CSS ファイルを入れて、それらの CSS へのリンクを手動でページ)?ここに欠けている機能はありますか?