Register  |  LOGIN

CMSならDotNetNuke!高機能かつフリーのCMSです。

 

 DotNetNuke 対応ホスティングサービスに、
at link 専用サーバサービス」を追加

掲示板

DNNに関する情報共有はこちらからどうぞ!

DotNetNuke.jp 掲示板は、すべての DotNetNuke ユーザーのための情報共有の場です。

単に質問・回答の場ではありませんし、回答義務もございません。
運営メンバーも含め、DotNetNuke を日々学んでいる状況です。
質問をする場合は、まずインターネットなどで自分自身でお調べいただき、その情報を共有する事をこころがけてください。

>>当掲示板に書き込みいただくには、ユーザー登録が必要です。( ログイン・ご登録はこちら )
>>プライバシーポリシーについてはこちらをご覧ください。
 
  dotnetnuke.jp bbs  一般  デザイン  body背景の設定方法
Previous Previous
 
Next Next
New Post 7/4/2008 3:59 PM
Resolved
  SHIMIZU
161 posts
5th Level Poster


body背景の設定方法 
Modified By SHIMIZU  on 7/4/2008 4:10:26 PM)

お世話になります。

スキンの作り方がだいたい分かってきて、色々なスキンを作っているところです。そうなると欲が出てくるもので、スキンが増えるて管理が大変になるのを軽減するため、同じレイアウトで色が違うだけのスキンは一つのスキンにまとめてしまおうということを考えました。

ヘッダやフッタ、あるいはコンテナが色違いなだけなら難しくないのですが、背景色あるいは背景画像の場合にどうしたらよいものが悩んでいます。

というのも、DotNetNukeではスキンを作る際に、htmlやbodyタグを除去してからアップロードしないといけません。ということは、bodyタグにidやclassをふってスタイルを指定するということができないということになります。

ソースを見るとbodyタグには固定でid="Body"が割り当てられており、サイト設定内のスタイルシートエディタに記述すればどうにでもできそうですが、できればスキンレベル、あるいはGUIでCSSなどを知らなくても設定でできるようにしたいものだと考えています。

例えば、サイト設定→表示→body背景という設定もありますが、background-imageのみ指定可能で、background-position, -attachment, -positon, -colorに相当する設定はないようです。 ソースを見るとインラインでスタイルが指定されており、修正も難しそうです。

もう一つの方法として、bodyの直下にdivを設置し、そのdivを高さ100%にして、そこに背景を設定するという方法が考えられます(なお、tableレイアウトは使ってませんのでなしということで)。私もデザインが本職ではないもので、あまりCSSには詳しくありませんが、検索などをしながら試行錯誤したところ、

html, body{
height: 100%;

/* body直下のdiv */
#page{
height: 100%;

のように指定すればIEとOperaではページの高さ一杯にdivが広がりますが、Fire Foxではとりあえず広がるものの、ページのスクロールバーが表示される状態ではスクロールが必要なエリアには背景が反映されません。

スタイルの指定でうまく逃げる方法があるのか、それとももっと他によい方法がないかどうか、ご存知の方がいらっしゃいましたらよろしくお願いします。

 
New Post 7/4/2008 4:20 PM
  kyo-ko
24 posts
No Ranking


Re: body背景の設定方法 
Modified By kyo-ko  on 7/4/2008 4:27:36 PM)

Bodyにidやclassを振らなくても、「Body」に直接スタイルを指定できますよ。

また、固定で振られているid="Body"を利用して、「#Body」にスタイルを指定しても、
default.cssの次にスキン用のcssが読み込まれるので、スタイルを上書きすることができると思います。

 
New Post 7/4/2008 6:12 PM
  SHIMIZU
161 posts
5th Level Poster


Re: body背景の設定方法 
Modified By SHIMIZU  on 7/4/2008 6:16:04 PM)

kyo-koさん、どうもありがとうございます。

ちょっと書き方が分かりにくかったかと思いますが、同じスキン内でbodyに複数の色や背景イメージを設定する方法が分からなかったので質問させてもらいました。body{} や #Body{}によるスタイル指定だと一つしか設定できないと思ったので。

実例を挙げますと、同じスキン(zipファイル)内に赤と青の背景色を持つbodyとヘッダ(div#header)を含む二つのファイル(skins/red.html, skins/blue.html)を用意すると仮定します。

ヘッダの背景色の方は両ファイルにて

<div id="header" class="red"></div>

<div id="header" class="blue"></div>

としておいて、CSSの方で、

#header.red{ background-color: red; }

#header.blue{ background-color: blue; }

とやっておけば色を変えることができると思いますが、bodyの方は、両ファイルで共通ですし、class指定を追加することもできないので、どうしたらよいのか困ってしまいました。代替の方法として、先の質問で挙げたdivのheightを100%に広げて背景を指定する方法か、またはサイトの設定でもう少し細かな背景の設定ができればOKなのですが・・。

何かよい方法があるようであればアドバイスいただけたらと思います。

 
New Post 7/4/2008 7:04 PM
  kyo-ko
24 posts
No Ranking


Re: body背景の設定方法 

失礼しました。

それでは、やはり最初にご提案された、DIVで括る方法で、
body直下のdiv を

#page{
min-height: 100%;} 

にしてみてはいかがでしょうか?これならFirefoxでも表示されると思うのですが・・・。

 
New Post 7/5/2008 12:16 AM
  SHIMIZU
161 posts
5th Level Poster


Re: body背景の設定方法 

kyo-koさん、どうもありがとうございました。できました!

実は、以前にこのmin-heightを使ったもっと複雑なCSSハックのテクニックを検索で見つけやってみたことがあるのですが、そのときは効果が無くて、少し古い情報のようだったので最新のFireFoxには効果がないのかとがっかりしていたのですが、もっとシンプルにできたのですね。素晴しい!

これができると色の数だけスキンを作らないといけなかったのが、大幅に削減できるので大変助かります。

どうもありがとうございました。

 
New Post 7/5/2008 11:10 AM
  SHIMIZU
161 posts
5th Level Poster


Re: body背景の設定方法 

解決したと思ったのですが、よくよく確認すると今度はIEの方で背景が100%にならなくなってしまいました。うーん、困った。

ということで、試しに

min-height: 100%;
height: 100%;

と同時に指定してみましたが、これだとIEはOKですが、FireFoxが元に戻ってしまいます。

IEにはheight: 100%、FireFoxにはmin-height: 100%のみを認識させればよいのでしょうが、どうすれば??と考えながら検索してみると、こういうページを見つけました。

http://blog.creamu.com/mt/2008/03/cssminheighteasiest_crossbrows.html

ここに書いてある通り、

min-height: 100%;
height: auto !important;
height: 100%;

とやってみたところ、見事にできました。今回は全パターンで確認したので大丈夫だと思います。kyo-koさんアドバイスありがとうございました。

ということで一件落着ですが、これはこれとして、DotNetNukeのサイト設定メニューにある背景の設定はもう少し改良してもらえるとありがたいですね。

現在は画像を指定することしかできませんので使い方が限られてしまいますが、色、繰り返し、位置とかが指定できるようになるとカスタマイズ用のシンプルなスキンを提供しておいて、ユーザが背景色を変えたりとかいろいろとカスタマイズができるようになります。

 
New Post 7/8/2008 9:59 AM
  kyo-ko
24 posts
No Ranking


Re: body背景の設定方法 

中途半端な回答ですみません・・・。
IE6以下はmin-height使えないんですよね。

アンダースコアハックを使ってやったこともあるのですが、
やはり不正書式なので、あまり使いたくないなと思っていました。
上記のやり方を参考にさせていただきます。
こちらこそありがとうございました。

 
Previous Previous
 
Next Next
  dotnetnuke.jp bbs  一般  デザイン  body背景の設定方法

掲示板ご利用のためのご案内

ログイン
すでに登録済みの方は、
上のボタンからログインを
お願いします。
登録
ユーザー登録がまだの方は、
上の「登録する」ボタンをクリックし、
登録画面にて必要事項をご入力の上、
ご登録ください。