FC2ブログで、ページ種(トップページ、記事詳細ページ、カテゴリ一覧ページなど)ごとに、ヘッダー画像を替えることが出来ます。
同様に、サイドバーをページ種ごとに変える、フッターをページ種ごとに変えると言うカスタマイズも可能です。
エリア(モード)変数
こちらの「エリア変数」と言うものを利用すれば簡単です。
これで、
これらのページのヘッダーをそれぞれ変えられます。
その時は、画像タグだけを「エリア変数」で囲む方法があります。
よく見かけるヘッダーの形がこう言う形。ヘッダーのバナーをクリックすると、トップページへジャンプするタイプです。
これを例えば「トップページ」「カテゴリページ」「その他のページ」で表示を変えたいと思ったときは、以下のように記述できます。
画像タグを、エリア変数で囲み、ページ種によって振り分ける方法です。
注意したいのが、「~以外の表示エリア変数」を忘れないことです。これを忘れてしまうと、その他のページの時には、ヘッダー画像がない状態になります。
CSS(スタイルシート)から、「ヘッダーのブロックの背景画像」を指定しているパターン。
FC2用共有テンプレートはほとんどこの形だと思います。背景画像の上にテキストが載っているパターンの場合です。
HTMLでは、「エリア変数」を使用出来ますが、CSSでは「エリア変数」は使えません。
いくつか方法はあると思いますが、一番シンプルなのは、以下の方法だと思います。
【元のヘッダーのHTMLソース】
こんな感じで書かれていると思います。
勿論CSSソースの方に「変数」を書いても上手く動作しません。
ですから、ヘッダーのブロックタグ、ここでは
「<div id="header" style="背景画像">」
のように組み込むのが一番妥当ではないでしょうか?
ブロックタグの方に、直接スタイルを当てる方法です。
【修正後のヘッダーHTMLソース】
上の例では、見やすくするためタグ内で改行を入れていますが、実際は改行しないようにしてください。
このように、画像リンク先のURL部分のみを、ページ種を判断させて表示させるのが、一番短い記述で済むのではないかと思います。
※「" "」「' '」の入れ子に十分注意してください。
■エリア変数がなんのことだか分からない方は、こちらも参照してください。
カテゴリ・サーチ・全記事表示などに分岐させる
■関連記事
ランダムでヘッダー画像を替える方法
カテゴリページごとに表示する画像を変える
同様に、サイドバーをページ種ごとに変える、フッターをページ種ごとに変えると言うカスタマイズも可能です。
使う変数は?
エリア(モード)変数
こちらの「エリア変数」と言うものを利用すれば簡単です。
これで、
- トップページ
- 固定リンク画面(追記、コメントが表示される記事詳細画面)
- 月、日別(アーカイブ)画面
- カテゴリ別画面
- 検索結果画面
- タグ検索結果画面
- 全記事タイトル一覧ページ
これらのページのヘッダーをそれぞれ変えられます。
画像だけを切り替える
その時は、画像タグだけを「エリア変数」で囲む方法があります。
<div id="header">
<a href="http://トップページへのリンク"><img src="http://ヘッダー画像"></a>
</div>
<a href="http://トップページへのリンク"><img src="http://ヘッダー画像"></a>
</div>
よく見かけるヘッダーの形がこう言う形。ヘッダーのバナーをクリックすると、トップページへジャンプするタイプです。
これを例えば「トップページ」「カテゴリページ」「その他のページ」で表示を変えたいと思ったときは、以下のように記述できます。
<div id="header">
<a href="http://トップページへのリンク">
<!--index_area-->(トップ表示エリア変数)
<img src="http://トップページのヘッダー画像">
<!--/index_area-->
<!--category_area-->(カテゴリ表示エリア変数)
<img src="http://カテゴリページのヘッダー画像">
<!--/category_area-->
<!--not_index_area-->(トップ以外表示エリア変数)
<!--not_category_area-->(カテゴリ以外表示エリア変数)
<img src="http://その他のページのヘッダー画像">
<!--/not_category_area-->
<!--/not_index_area-->
</a>
</div></div>
<a href="http://トップページへのリンク">
<!--index_area-->(トップ表示エリア変数)
<img src="http://トップページのヘッダー画像">
<!--/index_area-->
<!--category_area-->(カテゴリ表示エリア変数)
<img src="http://カテゴリページのヘッダー画像">
<!--/category_area-->
<!--not_index_area-->(トップ以外表示エリア変数)
<!--not_category_area-->(カテゴリ以外表示エリア変数)
<img src="http://その他のページのヘッダー画像">
<!--/not_category_area-->
<!--/not_index_area-->
</a>
</div></div>
画像タグを、エリア変数で囲み、ページ種によって振り分ける方法です。
注意したいのが、「~以外の表示エリア変数」を忘れないことです。これを忘れてしまうと、その他のページの時には、ヘッダー画像がない状態になります。
バックグランドのヘッダー画像の場合
CSS(スタイルシート)から、「ヘッダーのブロックの背景画像」を指定しているパターン。
FC2用共有テンプレートはほとんどこの形だと思います。背景画像の上にテキストが載っているパターンの場合です。
HTMLでは、「エリア変数」を使用出来ますが、CSSでは「エリア変数」は使えません。
いくつか方法はあると思いますが、一番シンプルなのは、以下の方法だと思います。
【元のヘッダーのHTMLソース】
<div id="header">
<h1>ブログタイトル</h1>
<p class="intro"><%introduction></p>
</div>
【元のヘッダーのCSSソース】<h1>ブログタイトル</h1>
<p class="intro"><%introduction></p>
</div>
#header{
background:url("http://ヘッダー画像") no-repeat left top;
height:180px;
}
background:url("http://ヘッダー画像") no-repeat left top;
height:180px;
}
こんな感じで書かれていると思います。
勿論CSSソースの方に「変数」を書いても上手く動作しません。
ですから、ヘッダーのブロックタグ、ここでは
「<div id="header" style="背景画像">」
のように組み込むのが一番妥当ではないでしょうか?
ブロックタグの方に、直接スタイルを当てる方法です。
【修正後のヘッダーHTMLソース】
<div id="header" style="background:url('
<!--index_area-->(トップ表示エリア変数)
http://トップページのヘッダー画像
<!--/index_area-->
<!--category_area-->(カテゴリ表示エリア変数)
http://カテゴリページのヘッダー画像
<!--/category_area-->
<!--not_index_area-->(トップ以外表示エリア変数)
<!--not_category_area-->(カテゴリ以外表示エリア変数)
http://その他のページのヘッダー画像
<!--/not_category_area-->
<!--/not_index_area-->
') no-repeat left top;">
<h1>ブログタイトル</h1>
<p class="intro"><%introduction></p>
</div>
【修正後のヘッダーのCSSソース】<!--index_area-->(トップ表示エリア変数)
http://トップページのヘッダー画像
<!--/index_area-->
<!--category_area-->(カテゴリ表示エリア変数)
http://カテゴリページのヘッダー画像
<!--/category_area-->
<!--not_index_area-->(トップ以外表示エリア変数)
<!--not_category_area-->(カテゴリ以外表示エリア変数)
http://その他のページのヘッダー画像
<!--/not_category_area-->
<!--/not_index_area-->
') no-repeat left top;">
<h1>ブログタイトル</h1>
<p class="intro"><%introduction></p>
</div>
#header{
height:180px;
}
height:180px;
}
上の例では、見やすくするためタグ内で改行を入れていますが、実際は改行しないようにしてください。
このように、画像リンク先のURL部分のみを、ページ種を判断させて表示させるのが、一番短い記述で済むのではないかと思います。
※「" "」「' '」の入れ子に十分注意してください。
■エリア変数がなんのことだか分からない方は、こちらも参照してください。
カテゴリ・サーチ・全記事表示などに分岐させる
■関連記事
ランダムでヘッダー画像を替える方法
カテゴリページごとに表示する画像を変える
スポンサーリンク
Mon.01.17.2011
Comment
203
ページ種ごとにヘッダー画像を替える
「バックグランドのヘッダー画像の場合」で変更することできたのですが、更にカテゴリ別に細分化(親カテゴリ毎)して任意のヘッダー画像を表示させることは可能でしょうか?
お忙しい中恐縮ですが、教えていただけましたら幸いです。
お忙しい中恐縮ですが、教えていただけましたら幸いです。
204
Re: ページ種ごとにヘッダー画像を替える
可能です。画像ファイル名とカテゴリナンバーを対応させます。詳しくはこちらに記述しておきましたので、参考にしてみてください。
http://designlabolatory.blog16.fc2.com/blog-entry-348.html
http://designlabolatory.blog16.fc2.com/blog-entry-348.html
Trackback
Trackback URL
Comment Form
質問するときは?
やっぱり自分で解決したい時
特定の記事のみでレイアウトが崩れる場合
全ページでレイアウトが崩れる場合
メールフォーム
- 不具合が出ているページのURLを書き込む。
- 使っているブラウザ(IE、Firefoxなど)を書き込む※IE6はサポート外です。
- 次の人が確認できるように、使っているテンプレートの記事ページ、或いは各カスタマイズ記事ページにコメントを書きこむ。

特定の記事のみでレイアウトが崩れる場合
全ページでレイアウトが崩れる場合
メールフォーム