28

ASP.NET の本でテーマについて読んでいて、それが非常に便利な解決策であると考えていたところ、いくつかの問題に遭遇しました。

  • テーマは、フォルダー内のすべての CSS ファイルを取得します
  • スタイルのリセットを使用する場合 (順序が重要な場合)、インポートされたスタイルシートの順序は保証されません
  • マスターページは、使用されているスタイルを明示的に示しません.web.configを掘り下げない限り、レンダリングされたページだけがそれを伝えることができます.
  • テーマ ファイルを使用して Web コントロールのスタイルを設定するのは...まあ...ばかですか? これはスタイルシートで簡単に実行できます。きめ細かな制御は HTML レベルで行うべきではないでしょうか?
  • 単一のスタイルシートにすべてのスタイルを含めずに、どのように印刷スタイルシートを指定しますか?

本当に使う価値があるのか​​疑問です。何かメリットはありますか?それらを使用している主要なサイトはありますか?

編集

スローライフの最後のポイントを明確にするために。print.css と main.css という 2 つのスタイルシートがあり、ASP.NET テーマを使用した場合、print.css が印刷スタイルシートであることがどのようにわかりますか? 通常の HTML では、タグ自体 (つまり<link rel= ...>) でメディア タイプを使用しますが、テーマはこれを認識しないため、通常のスタイルシートとして含まれます。

4

3 に答える 3

9

私はテーマを使用するのが好きですが、Raj が回答で指摘したように、URL の書き換えは問題を引き起こす可能性があります。それに対するいくつかの解決策を探したことが、あなたの質問につながったのです。しかし、とにかく私の意見を追加します。

テーマが良いと思う理由について、上記の箇条書きのいくつかに対処します。

- テーマはフォルダー内のすべての CSS ファイルを取得します

特定のページに特定のスタイルシート ファイルのみを適用しようとしていると思います。はい、テーマはここで散弾銃のアプローチをとっているので、それは問題です. ただし、すべてのスタイルシートをテーマ フォルダーに配置する必要はありません。特殊なものをその外側に置くと、それらは自動的に含まれません。しかし、共通/サイト全体のものを自動的に含めることは素晴らしい機能だと思います。

- スタイルのリセットを使用する場合 (順序が重要な場合)、インポートされたスタイルシートの順序は保証されません

ファイルに名前を付ける方法で順序を保証できると思うので、数字とアルファベット順に並べられています。エレガントな解決策ではないかもしれませんが、恐ろしいことではありません。

個人的には、テーマ フォルダー内のすべての *.css ファイルを 1 つの style.css ファイルに結合して圧縮するビルド ステップがあります。私に影響を与えます。

- マスター ページは、使用されているスタイルを明示的に示しません。web.config を掘り下げない限り、レンダリングされたページだけがそれを伝えることができます。

コードと <%@Page ディレクティブでテーマを変更できます

- テーマ ファイルを使用して Web コントロールのスタイルを設定するのは...まあ...ばかですか? これはスタイルシートで簡単に実行できます。きめ細かい制御は HTML レベルで行うべきではないでしょうか?

テーマを介してスタイル属性をコントロールに適用することは、ベスト プラクティスではないように思われることに同意します。しかし、テーマのスキン ファイルでイメージ スキンを定義でき、サイト全体で多くの場所で使用する一般的なイメージの Width、Height、AlternativeText、Align 属性をカット アンド ペーストする必要がないという事実が気に入っています。また、これらの画像の 1 つを変更した場合でも、全体ではなく 1 か所で属性を修正できます。また、CSS クラスの特定のリストが適用されたスキン コントロールを作成することもできます。これは便利だと思います。

- 単一のスタイルシートにすべてのスタイルを含めずに、どのように印刷スタイルシートを指定しますか?

@media print で始まり、サイトの印刷スタイルを定義する Print.css ファイルがあります。なぜそれらを 1 つのスタイルシートに入れる必要があるのですか?

于 2009-06-19T17:25:22.270 に答える
6

私見、asp.netのテーマは絶対に役に立たない

テーマを使用するアプリで URL 書き換えを実装してみて、すぐに壊れることを確認してください

基本的に、asp.net と複数の css フォルダーに数行のコードを記述して同じことを実現できます。テーマを使用している開発者/会社にまだ出会っていません

asp.net 2.0 がリリースされたとき、テーマに関する大きな誇大広告がありましたが、私の個人的な意見では、それだけの価値はありません :-)

于 2009-03-27T14:56:49.937 に答える
0

テーマを使用して、コントロールの属性のみを変更してください。それらは css を操作するために設計されていませんでした。

于 2010-09-03T02:31:55.227 に答える