Movable Type 備忘録

 テンプレートの外枠に影をつける


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 57

Warning: include(http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/dropshadow.gif&width=240&height=180&title=&noscript=0) [function.include]: failed to open stream: no suitable wrapper could be found in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 57

Warning: include() [function.include]: Failed opening 'http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/dropshadow.gif&width=240&height=180&title=&noscript=0' for inclusion (include_path='.:/usr/local/lib/php') in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 57

またまた、訪問者さんからご相談がありまして、テンプレートの外枠に影をつけたい…とのことで、とりあえず、MovableType MEMOで配布しているテンプレートをベースにサンプルを作ってみました。

その訪問者さん、小粋空間さんのテンプレートを使われていたので、チョビッと小粋空間チックなイメージになってます。
小粋空間さん、ごめんなさい。

まずは上記サムネイルをクリックして、サンプル・ページをご覧ください。
このサンプルは、こちらのベーシック・テンプレートをベースに、CSSだけでカスタマイズしたものです。

テンプレートの外枠に影を付ける

ここで説明することは、フィックスド・レイアウト(固定幅)に限ったことです。
リキッド・レイアウト(可変幅)のテンプレートの場合には、別な方法で適用する必要があります。

まず、サンプルのテンプレートでは以下のような構造になっています。

  1. <body class="layout-three-column">
  2.     <div id="container">
  3.         <div id="header">
  4.                 :
  5.                 :
  6.         </div>
  7.  
  8.         <div id="navibar">
  9.                 :
  10.                 :
  11.         </div>
  12.  
  13.         <div id="blog">
  14.             <div id="content">
  15.                     :
  16.                     :
  17.             </div>
  18.         </div>
  19.  
  20.         <div id="sub">
  21.             <div id="side-leftbox">
  22.                     :
  23.                     :
  24.             </div>
  25.  
  26.             <div id="side-rightbox">
  27.                     :
  28.                     :
  29.             </div>
  30.         </div>
  31.  
  32.         <div id="footer">
  33.                 :
  34.                 :
  35.         </div>
  36.     </div>
  37. </body>

そしてサイズ的には、ベースにしたテンプレートでは全体の横幅が900px、両サイドの横幅が200pxになっています。
サイドの横幅200pxから、10px分を外枠の影としてイメージを作成します。


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 114

Warning: include(http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/dropshadow2.gif&width=240&height=53&title=&noscript=1) [function.include]: failed to open stream: no suitable wrapper could be found in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 114

Warning: include() [function.include]: Failed opening 'http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/dropshadow2.gif&width=240&height=53&title=&noscript=1' for inclusion (include_path='.:/usr/local/lib/php') in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 114

上記サイズを元に作ったイメージが右のイメージになります。 このイメージを、先ほどのテンプレート構造でいうところの、<div id="container">タグの背景に設定します。 具体的には以下のようにスタイルを設定します。

body.layout-three-column #container {
background: #fff url(body-bg.gif) repeat-y top left;
}


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 123

Warning: include(http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/dropshadow3.gif&width=240&height=180&title=&noscript=1) [function.include]: failed to open stream: no suitable wrapper could be found in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 123

Warning: include() [function.include]: Failed opening 'http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/dropshadow3.gif&width=240&height=180&title=&noscript=1' for inclusion (include_path='.:/usr/local/lib/php') in /virtual/bzbell/public_html/archives/2006/11/18-143456.php on line 123

そうすると、左イメージのように上から下までの背景が先ほどのイメージで塗りつぶされます。
ここまでできれば、もうほとんど完成でサイドバーの位置などを微調整します。
サンプルを微調整したCSSを以下に記します。

body.layout-three-column #container {
/* 全体の背景をイメージで塗りつぶします */
background: #fff url(sample/body-bg.gif) repeat-y top left;
}
body.layout-three-column #blog {
/* ボーダーを非表示にします */
border: none;
}
body.layout-three-column #side-leftbox {
/* 影の横幅+内側の窪みを考慮して、左サイドバーの位置を調整します
176px = 200px - 15px + 9px */
padding-left: 15px;
padding-right: 9px;
width: 176px;
}
body.layout-three-column #side-rightbox {
/* 影の横幅+内側の窪みを考慮して、左サイドバーの位置を調整します
176px = 200px - 15px + 9px */
padding-left: 9px;
padding-right: 15px;
width: 176px;
}
#header {
margin: 0;
padding: 0;
background:none;
border: none;
}
#header .inner {
padding: 0;
background: none;
border: none;
}
#footer {
/* フッターの幅を影の内側に調整します
880px = 900px - 影の横幅10px × 2
さらに、調整したサイズでセンタリングします */
margin: 0 auto;
width: 880px;
}
#navibar {
/* ナビバーの幅を影の内側に調整します
880px = 900px - 影の横幅10px × 2
さらに、調整したサイズでセンタリングします */
margin: 0 auto;
width: 880px;
}
.module-header,
.module {
margin: 0;
padding: 0;
}
.module {
padding-bottom: 2em;
}

あとは、ヘッダ部にかかった内側のくぼみを消します。
サンプルでは以下のようにして、単純に白で塗りつぶしていますが、上書きでイメージを貼り付けるなどすれば見栄えよくなると思います。

  1. #header {
  2. /* 左右の影10px+内側の窪み分をマージンとして設定します(ちょと多めに)
  3.      そして、背景色を白にして上書きします */
  4.     margin: 0 20px;
  5.     padding: 0;
  6.     background-color: #fff;
  7.     border: none;
  8. }

以上で、小粋空間チックなテンプレートにすることができました。
ざっくりな説明ですがなんとなく分かっていただけたでしょうか!?

サンプルでは影というより縁取りっぽいけど、イメージの作り方しだいで、かわいいイメージにもできるし、カッコいいイメージにもできると思います。

そそ、MovableType MEMOのペーシック・テンプレート/3カラム・固定幅をお使いの人なら、上記CSSの追加/変更とイメージファイルを持ち帰っていただければ、そのまま使えます。

では、この辺で…SEE YOU♪

 Trackback Pings(0)

No trackbacks found.

 Comments(4)

#1: Posted by panser @ November 19, 2006 [REPLY]
user-pic

ありがとうございます! 早速「影をつける」をエントリーして頂き感謝々です。
そこで、大変やさしく丁寧に内容を記して頂いていると思うのですがなにぶん私自身が非常に素人の為このカスタマイズはすぐに完成しないよに感じています。 少し気長にカスタマイズしていくしかないかぁ~(泣)と感じています。 なにぶんテンプレートが違う為スタイルシートも若干違いがあるので
また、時間を見ながら腰を据えてやるしかないですね ほんと素人でごめんなさい!
それと、もうひとつ教えて頂きたいのですが影画像の作り方はどうすればいいでしょうか?
フォトショップのようなソフトを使用する必要があると思うのですが ちなみに何のソフトでどのように作られたのでしょうか? またお時間のある時にコメント頂ければ幸いです。 ではではありがとございました。

#2: Posted by bzbell @ November 19, 2006 [REPLY]
user-pic

>>1 panser さん

こんにちわ^^

> なにぶんテンプレートが違う為スタイルシートも若干違いがあるので

うん、実はわたしもこの記事を元に異なるテンプレをカスタマイズできないのでは…と思ってました。

ホントなら小粋空間さんのテンプレをベースにカスタマイズしたものを公開できればいいのでしょうけど。

上のContactからpanser さんのメイン・インデックスのテンプレートと、それに付随するCSSを添付してわたし宛にメルしていただければ、それに合わせてお作りしますよ。
公開はできませんが…。

> もうひとつ教えて頂きたいのですが影画像の作り方はどうすればいいでしょうか?

はい。フォトショを使ってます。
書籍を購入して、まだまだヒヨッコの身で勉強中です。

フリーのソフトでも影をつけるなど、そこそこのことはできる…と聞いたことがあります。

#3: Posted by panser @ November 19, 2006 [REPLY]
user-pic

>>2 bzbell さん
ありがとうございます!何から何までほんとお世話になります。
お言葉に甘えてお願いしたいと思います。
完成の際には、無駄にせず充分内容の方も理解していきたいと思います。
そこで、メールアドレスはどちらまでお送りさせて頂ければよろしいでしょうか?
スタイルシートとインデックスのソースまでは結構量があるので添付ファイルでお送りさせて頂ければと思うのですが
恐れ入りますがご指示宜しくお願いします。

#4: Posted by bzbell @ November 19, 2006 [REPLY]
user-pic

>>3 panser さん

こんにちわ^^

先ほど、panser さん宛てにメルしました( ̄∇ ̄)

送信先はpanser さんがコメント投稿してくださった時のメアドにお送りしましのでご確認願います。

 Post a Comment

 

コメント用フィード