- - PR -
ユーザーが画面背景色を変更できるようにしたい。
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-12-11 16:04
いつも、お世話になっております。
ASP.NET1.1で開発中のシステムが有るのですが、ユーザーが自由に画面(body)やラベルの色を変更できるようにしたいです。 現在はスタイルシートを使用してるので、そのスタイルシートを変更すれば全ての画面に適用されるのですが、そのスタイルシート自体をユーザーの何らかのアクション(色選択画面で選択するなど)により変更させたいのです。 どういった方法が望ましいのか知恵をお貸しください。 よろしくお願いいたします。 | ||||||||||||||||||||
|
投稿日時: 2008-12-11 16:20
設定変更できる画面を用意すればいいのでは?
各画面に共通で読み込ますCSSファイルを用意 して、設定画面で更新された情報を元にその CSSファイルを再構築すればよいと思います。 | ||||||||||||||||||||
|
投稿日時: 2008-12-11 16:47
似たようなことをやったことあります。
某役所内のCMS(コンテンツ・マネジメント・システム)で、ゲストユーザーはクッキー+Javascriptで切り替え、登録ユーザーはサーバーサイドでCSS書き出してました。 参考になれば・・・。 | ||||||||||||||||||||
|
投稿日時: 2008-12-11 16:54
ユーザー編集用のスタイルシートと
アプリ既定のスタイルシート(編集不可)の2種類用意し、 この2つを読み込む方法はどうでしょうか? 確か、.Text のカスタム CSS がこの仕組みでした。 _________________ Nakamura Blog | ||||||||||||||||||||
|
投稿日時: 2008-12-11 19:44
皆様、ご回答ありがとうございます。
CSSを再構築(CSSの書き出し)を行う方向で考えていますが どのような方法でCSSを再構築するのがベターなのでしょうか? ご伝授、よろしくお願いします。 | ||||||||||||||||||||
|
投稿日時: 2008-12-11 19:56
cssを、HTMLと同様にテンプレートから動的に生成すれば良いのでは。
カスタマイズがほんの数箇所なら、単にHTMLにstyle=""等を埋め込むだけでも良いですが。 | ||||||||||||||||||||
|
投稿日時: 2008-12-11 20:44
動的に作成するのが分からないので
1行ずつ出力する形にしてみました。 考え方間違ってますか? ---------------------------------------------------------------------------- FileOpen(1, FilePath & "test.css", OpenMode.Output) PrintLine(1, "body()") PrintLine(1, "{") PrintLine(1, SPC(8), "font-size: 11pt;") PrintLine(1, SPC(8), "color: black;") PrintLine(1, SPC(8), "Font-family 'MS 明朝';") PrintLine(1, SPC(8), "background-color: #e5d2ce;") PrintLine(1, "}") FileClose(1) [ メッセージ編集済み 編集者: お獅子 編集日時 2008-12-12 09:06 ] | ||||||||||||||||||||
|
投稿日時: 2008-12-12 00:45
>考え方間違ってますか?
間違ってはいませんが普通やらないかな。 ユーザーが変更可能な HTML 要素に対して <input type=text class="DefaultTextCss UserExtendTextCss"> と2つのCSSを定義しておきます。ユーザー拡張のCSSは必ず後ろに記述します。
とかしておいて、
CSS変更画面で
こんな形式でやっといて、
なんてなクラスこさえて、こいつを画面の項目分用意して、リストに格納して ファイルに纏めて書き出せばいいんじゃないかな。 なんかJavaチックでごめんなさいね。 リストに格納したクラスは、 PrintLine(item); ってやれば、自動的に toString() が呼ばれるのでそこで
なんて形に展開されるでしょう。 健闘を祈ります。 |