5 代目スタイルのお知らせとちょっとしたカラクリ

http://hxxk.jp/2006/02/19/2335

記事データ

投稿者

望月真琴

投稿日時

2006-02-19T23:35+09:00

タグ
概要

Background Image Maker を用いた 5 代目スタイルにしました。月ごとに背景画像が変わる簡単なカラクリを仕込んでいます。

リプライ

7 件のリプライがあります。

記事本文

5 代目スタイルに変更しました

2 月 15 日までは 4 代目のスタイル ( ストライプスタイル ) であった hxxk.jp ですが、一部で黒メガネとかごぼうさんとか呼ばれて親しまれている gorou さん ( Rails2u.com | 川o・-・)<2nd life | subtechグループ - 'hceT'.sub(/\Z/,'bus').reverse ) が作成した Background Image Maker が便利すぎるので、これを活用したスタイルを作ってみようかなと思い、 5 代目スタイルとなりました。

と言っても大きな変更は行わず、背景画像や配色を変える以外は細かい点の調整をしたくらいですが。 合わせてテンプレートもマイナーチェンジしています。 今回は IE のことも少し考慮したので、大きく見え方が違うということはないと思います。

全面リニューアルのお知らせ - 残っている問題点その 2 - IE で謎の border は、該当部分のボックスに float を指定することで解決しました。 結局何のバグに起因するものだったんだろう……

月ごとに h1 要素の背景を変える

さて、今回のスタイルでは、 h1 要素の背景に個別エントリーアーカイブと日別アーカイブ、月別アーカイブではその日付の月の画像、それ以外のページでは「最新の記事の日付」の月の画像を自動的に設定しています。

例えば、この記事を書いている時点の日付だと最新の月は 2 月ということになるので、多くのページでは 2 月の画像が h1 要素の背景に設定されていることになります。 もちろん、 3 月になれば 3 月の画像 ( hxxk.jp - 2005/03 の画像 ) が各種ページの h1 要素の背景になります。

個別エントリーアーカイブ・日別アーカイブ・月別アーカイブに月ごとの画像を設定

個別エントリーアーカイブ・日別アーカイブ・月別アーカイブのテンプレートの body 要素の部分を <body class="<$MTArchiveDate format="month-%m"$>"> のように指定し、スタイルシートのテンプレートに

body.month-01 h1{ background: #000 url("/common/materials/hxxk005/h1-month-01.jpg") right top no-repeat; }
body.month-02 h1{ background: #000 url("/common/materials/hxxk005/h1-month-02.jpg") right top no-repeat; }
body.month-03 h1{ background: #000 url("/common/materials/hxxk005/h1-month-03.jpg") right top no-repeat; }
body.month-04 h1{ background: #000 url("/common/materials/hxxk005/h1-month-04.jpg") right top no-repeat; }
body.month-05 h1{ background: #000 url("/common/materials/hxxk005/h1-month-05.jpg") right top no-repeat; }
body.month-06 h1{ background: #000 url("/common/materials/hxxk005/h1-month-06.jpg") right top no-repeat; }
body.month-07 h1{ background: #000 url("/common/materials/hxxk005/h1-month-07.jpg") right top no-repeat; }
body.month-08 h1{ background: #000 url("/common/materials/hxxk005/h1-month-08.jpg") right top no-repeat; }
body.month-09 h1{ background: #000 url("/common/materials/hxxk005/h1-month-09.jpg") right top no-repeat; }
body.month-10 h1{ background: #000 url("/common/materials/hxxk005/h1-month-10.jpg") right top no-repeat; }
body.month-11 h1{ background: #000 url("/common/materials/hxxk005/h1-month-11.jpg") right top no-repeat; }
body.month-12 h1{ background: #000 url("/common/materials/hxxk005/h1-month-12.jpg") right top no-repeat; }

と記述することで実現しています。 特別なことは何もしておらず、単純に月によって class を使い分けているだけですね。

最新の記事の日付の月の画像を設定

こちらは Movable Type ならではの方法。 スタイルシートがインデックス・テンプレートで作られていることを利用して、 h1{ background: #000 url("/common/materials/hxxk005/h1-month-<MTEntries lastn="1"><$MTEntryDate format="%m"$></MTEntries>.jpg") right top no-repeat; } と記述することで、最新記事が追加されるたびに、その月の数字をスタイルシート内で指定して、背景画像が月ごとに変わるようにしています。

複雑なことをしているわけではありませんが、このようなカラクリですよっていうことをここで紹介してみました。

ちなみに、月ごとにすると背景画像を 12 枚準備しなきゃいけないじゃないか ! という方には、%w という日付フォーマットもあります。 これは曜日を数字に置き換えるもので、 0 を日曜日、 6 を土曜日として考えます。 これなら背景画像を準備するのは 7 枚で済むのでリーズナブルかも。 しかし月と違って毎日変化するものであるので、ちょっと慌しく感じるかもしれませんね。

リプライ

7 件のリプライが送られています。

2006-02-20T12:24+09:00 - e-luck

うはっ、例の件の CSS が、同じ黒系で斜線背景ってのは内緒です(笑) ここ最近、業務多忙につき放置中でしたが、また作業再開する予定っす。

2006-02-21T21:10+09:00 - 真琴

そういう所で被ってしまうのはいけませんね ( 笑 ) 被るのはお酒の趣味とかだけにしておきたいものです :-) 作業の方はくれぐれもマイペースで !

2006-09-07T02:36+09:00 - secondlife

うっは、今更ながらに Background Image Maker 利用してもらったことを知りました! フッターからのリンク、わざわざありがとう!

2006-09-10T22:53+09:00 - 真琴

005-gorogoro style という名前は、 5 代目であるということと同時に、ごろすけの Background Image Maker にあやかって付けたのに ! 今度会う時に説教だ(何)

2006-11-10T10:03+09:00 - T-pha

はじめまして。 このブログでやられているように、月ごとや、週ごとに背景画像を変えたいと思っているのですが、なかなかうまくいかないので、質問いたします。 答えていただけるとありがたいです。 まだHTMLなど自主的に少しやった程度なので、なにか間違ったことをやっているのかもしれないので・・・ ここの記事を参考にさせていただきまして、現在私のブログでは試験的に、 body 要素の部分を&lt;(カッコ)body class="&#60;&#36;MTArchiveDate format="m-%m"&#36;&#62;"&#62; スタイルシートでは、 body.m-01{ ・ ・ ・ のように指定しています。 ところが、いざやってみると、うまく表示できず、上のほうになぜか"&#62;と表示されてしまいます。 何か解決策はありませんでしょうか?

2006-11-11T00:50+09:00 - 真琴

&#62;T-pha さん seesaa をお使いのようですが、テストはどの環境でやっていますか ? 記事のタグにもあるように、これは Movable Type のテンプレート用のコードですので、 seesaa などで使えるかどうかは私には分かりません。

2006-11-13T23:19+09:00 - T-pha

確かに、SeesaaはMovable Typeではないようですね。 ご指摘ありがとうございます。 気が付かずに堂々巡りをするところでした・・・ Javaなどで頑張ってみます。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など