Bloggerのページタイプ別にスタイルを適用したい
Bloggerのページタイプ別にCSSスタイルを適用したい時
三項演算子を使ってテンプレートのbodyタグをいじります。
bodyタグのclassに class="pagetype" とページタイプを付け、CSSで body.pagetype .post{...} という具合にページタイプ別にスタイルを適用できる。
下記のようにclass名をふれますので、かなりスタイルの幅が広がります。
class = "index | item | archive | static_page , mobile | desktop , home-page , xxx"
CSSサンプル
.post{...} body.index .post{...} body.item .post{...} body.archive .post{...} body.static_page .post{...}
テンプレートの変更
変更個所
<body expr:class='"loading" + data:blog.mobileClass'>出力結果
<body class='loading'>↓ ページタイプのクラス名を追加する場合
<body expr:class=""loading" + (data:blog.isMobile ? data:blog.mobileClass : " desktop") + " " + data:blog.pageType">出力結果
<body class='loading desktop index'>
ページタイプ
インデックス ページ index
個々の投稿記事 item
アーカイブ archive
ページ static_page
更に、ホームページと特定のページのclass名を追加する
<body expr:class='"loading" + (data:blog.isMobile ? data:blog.mobileClass : " desktop") + (data:blog.url==data:blog.homepageUrl ? " home-page" : (data:blog.canonicalUrl in {"http://wed@.blogspot.com/p/my-page.html"} ? " about-us" : "")) + " " + data:blog.pageType'>
出力結果ホームページの場合
<body class='loading desktop home-page index'>
指定したページの場合
<body class='loading desktop about-us static_page'>
data:blog.canonicalUrlは、必ず http://xxx.blogspot.com/xxx で表示されるので、海外から閲覧した場合でも、https で閲覧した場合でも結果が保証されるはず。指定する場合は、アドレスバーに表示されているURLを http://xxx.blogspot.com/xxx にして指定する事。