サイドバーの背景を最後まで表示する
float 指定のマルチカラムテンプレートのデザインで困るのは、サイドバーに背景色を与えた場合、サイドバーの内容が本文(中央カラム)の表示より短くなった場合、背景色がそこで途切れてしまうことです。 例えば、本サイトの公開テンプレート(2カラム・右にサイドバー表示)のCSSの右サイドバーに背景色(ピンク)を追加してみます。 |
/* 右カラム */
#links-right{
float: left;
background-color: pink;
width : 155px ;
padding-top : 15px;
padding-left : 15px;
padding-right : 15px;
}
この設定例で、サイドバーの表示が本文より短い場合、最初の画像のように指定した背景が途中までしか表示されません。
ということで、ページの最後までサイドバーの背景色を表示するカスタマイズ方法です。
1.画像を用意する
次のような画像を用意します。これは中央カラム(白)およびサイドバーの背景(ピンク)となるものです。サンプルのテンプレートは横幅が700pxですので、長さ700pxにしています(サンプルは縮小表示していますのでクリックして実物を確認してください)。
この画像の作り方はかなりいい加減で、まず先の表示されたブラウザをキャプチャソフト(フリーで色々あると思います)でキャプチャして、その一部分を切り抜いたものです。
2.画像のアップロード
作成した画像を images ディレクトリ等にアップロードします。ここでは back.jpg としています。
3.スタイルシート修正
styles-site.css を下記のように修正します。公開テンプレートでは中央カラムにボーダーを表示していますが今回の例では削除して、画像の線を使っています(無理に罫線を入れる必要はありませんが)。また冒頭に書いた links-right の background-color は不要です。
/* 3カラム全体 */
#box {
margin-right: auto;
margin-left: auto;
text-align: left;
padding: 0px;
padding-bottom: 20px;
width: 700px;
border-bottom: 1px solid #666699;
border-left: 1px solid #666699;
border-right: 1px solid #666699;
background-color: #FFFFFF;
background: url(images/back.jpg) repeat-y;
}
:
/* エントリーのある大段落(3カラム) */
#content {
float: left;
width: 514px;
border-bottom: 1px solid #666699;
/* border-left: 1px solid #666699;*/
border-right: 1px solid #666699;
margin-top : 0px ;
margin-bottom : 10px ;
}
画像は横幅いっぱいのものでなくても大丈夫だと思います。例えばサイドバーの幅の
画像を作って #box に
background: #ffffff url(images/back.jpg) repeat-y top right;
とすれば右寄りに画像が配置されます(間違ってたらすいません)。
以上です。これで左のようにページの最後まできれいに表示されます。 |
- Movable Typeのコンテンツデータで公開日を比較する方法
- MT7テンプレート作成画面に表示される「コンテンツタイプ」「コンテンツフィールド」の意味
- Movable Typeでテンプレートの動作を簡単に確認する方法
- Movable Typeでスマホサイト用トップページをPCサイト用トップページと異なるURLにする方法
- Movable TypeでCSSファイルやJavaScriptファイルなどを管理するためのTips
- Movable Type 4.2 テンプレートセット(コミュニティ用)修正
- Movable Type 4.2 テンプレートセット(コミュニティブログ対応版)修正
- Movable Type 4.2 テンプレートセット(コミュニティブログ対応版)
- Movable Type 4.2 配布テンプレートセット修正(カテゴリーアーカイブ・コメント完了)
- Movable Type 4.2 テンプレートセット修正(アーカイブインデックス追加等)
- Movable Type 4.2 テンプレートセット修正
- Movable Type 4.1 テンプレートセット修正
- 「iPhoneテンプレートfor MT」 by cremadesign
- Movable Type 4.1 テンプレートセット(スタイル対応版)
- 小粋空間テンプレートセットのカラムレイアウト変更方法
yujiroさん、ありがとうございました。
視覚の問題は解決できますね。
でも実質、サイドバーは短いままということしか
できないと言うことですね。
何か、空白のコンテンツを作り、のばすことを考えてみます。
本当にありがとうございました。
使わせて頂きます。
>まいこさん
こんにちは。
コメントありがとうございます。
ご質問の解釈を間違っていたようで、申し訳ありません。
サイドバーの height プロパティ値に content の高さを適用されたいということであれば、次の JavaScript を各テンプレートの最後の方に挿入されてはいかがでしょうか。
<script type="text/javascript"> h = document.getElementById('content').clientHeight; document.getElementById('links-left').style.height = h + 'px'; </script>
なお、clientHeight には margin / border / padding は含まれないようです。
また上記のスクリプトは提案レベルですので動作を保証するものではございません。
以上です。
それではよろしくお願い致します。