スタイル/テーマを遅らせるASP.NET Webサイトを設計するにはどうすればよいですか?
質問
イントラネットWebサイトのプロトタイプを作成する必要があり、使いやすさ(レイアウト、ナビゲーション性など)に焦点を当て、テーマを後で使用したい(好みが非常に悪いので、おそらく他の誰かがこれを行う)
ASP.NETのテーマを即座に切り替える機能について知っていますが、後で簡単にWebFormsを設計するにはどうすればよいですか?
- 将来のCSSに存在する何かを指すクラス属性を持つコントロールを作成する必要がありますか?
- または、これを気にせずにコントロールを作成するだけで、テーマを作成するときに簡単に処理できますか?
解決
ASP.NETテーマの使用を計画している場合、すべてのコントロールを一般的に設計し、後でスキンを追加できます。デザインの複雑さ(テキストボックスやグリッドビューなどにいくつの異なるスタイルがあるかを意味します)によっては、これは多くの作業を節約しないかもしれませんが、組み込みの.Netサポートをテーマに使用する1つの方法です。
すべてのサブページが共通のベースを持つようにMasterPageを使用し、すべての要素に適切なIDを付与するようにしてください。CSSを使用してすべてをまとめる必要があります。
これはまともなテーマ&へのリンクです。スキンチュートリアル。これを追加するために今後何をしなければならないかを知っていると、今のために設計しやすくなります。
他のヒント
テーマを完全に無視し、CSSのみを使用するという議論をしたいと思います。価値のあるテーマが何を追加するのか、私にははっきりしていません。これは非常にマイクロソフト固有のアプローチであり、その出力は常に標準に準拠しているわけではありません。 CSSを使用することで、プロジェクトに取り組むことができる潜在的なデザイナーのプールが広がり、クロスブラウザーで標準に準拠したサイトを持つ可能性が高くなります。
他の誰かが後でこれをスタイリングする場合、十分な"フック"を提供することを確認します。彼らがこれを設計できるように。これは、同様にスタイル設定されるほとんどすべてにCSSクラスを追加し、必要に応じてCSSクラスでdivまたはspanで物事をラップすることを意味します。
<div class="ButtonContainer">
<asp:linkbutton runat="Server" cssclass="Button Cancel" command="Save" text="Save" />
<asp:linkbutton runat="Server" cssclass="Button Save" command="Cancel" text="Cancel" />
</div>
CSSを十分に理解しておらず、社内の命名規則や標準スタイルシートがない場合は、divとクラスをどのように構成するかを実際に知ることはできません。私たちのショップでは、これを処理する方法はプログラマが標準のASP.NETマークアップを記述するだけであり、デザイナーが開発し、開発するスタイルシートで機能するdiv、スパン、クラス名を追加することです。
スキンはおそらく答えですが、それについて何かが私をいらいらさせます(たぶん、そのベンダー固有であることを嫌い、.NET以外のWeb言語やプラットフォームに自分のスキルを適用したいからです)。私はすべてのASP.NetコントロールでCssClass属性を使用し、他のすべてを注意深く分類し、できるだけ多くのセマンティックマークアップを使用することを好みます。次に、コントロールをセットアップして動作させたら、CSSを使用してすべてのスタイルを設定します(通常、この時点でHTMLとJavaScriptの要素を微調整する必要があります)。
私と一緒に仕事をしている別の開発者は、Microsoftのすべての方法でスキンやページディレクティブなどを使用することを好みます。おそらくこれを行うのが最善の方法ですが、プレゼンテーションの多くをアプリケーションの中間およびバックエンドに混合しすぎているように感じます。
コントロールをdivでラップするだけです。最終的にレイアウト/スタイルがずっと簡単になります