0

<body>または投稿type/pageテンプレートのいずれかのクラスに基づいてロゴを変更する方法を探しています。私が推測しているステートメントがこれを機能させる必要がある場合、私はPHPにあまり精通していません。

スプライトグラフィックにすべてのロゴがあり、cssクラスを使用してページごとに異なるロゴに変更し、phpがクラスを変更するようにすると、うまくいくと思います。

このような何かに沿って?

if(body class="home") {
  <div class="logo1"><img src="images/logo.png" /></div>
} elseif(body class="page1") {
  <div class="logo2"><img src="images/logo.png" /></div>
} else {
  <div class="logo"><img src="images/logo.png" /></div>
}

私はまだこのコードを試していませんが、これが正しい方法かどうかを知りたいだけです。

4

2 に答える 2

0

ほとんどのテーマは、bodyタグにslugまたはpage-id-numberのいずれかのいくつかのクラスを追加します。

bodyタグでページのソースルックをチェックアウトし、はい、スプライトを使用します。

PHPはやり過ぎです。CSSを使用します。

于 2012-06-17T07:14:19.863 に答える
0

iambriansreedは私の前でよく答えてくれて、良い答えを出してくれましたが、彼の言ったことをさらに広げたいと思います。コメントに収まらないほど言いたいことがあるので、私自身の答えを投稿します。

HTMLには、divやh1タグなどの単一のロゴ要素があります。

<h1 class="logo">My Company</h1>

次に、CSSを使用してテキストを非表示にし、画像に置き換えます。

.logo {
    background: url(mylogo.png) 0 0 no-repeat;
    width: 200px; /* match logo width */
    height: 80px; /* match logo height */
    text-indent: -9999px; /* hides text */
}

テキストを非表示にするための1つのテクニックを示しました。他の方法があります。マークアップにテキストを残す理由は、SEOとアクセシビリティのためです。

サブページでは、bodyタグに付けられたクラスに基づいて、より具体的なセレクターを使用して、ロゴの背景を変更します。

.section2 .logo {
    background: url(mylogo.png) 0 -80px no-repeat;
}

PHPは、レンダリングされるセクション/ページに基づいてbodyタグに一意のクラスを付加することを除いて方程式に含まれません。

于 2012-06-17T08:17:54.170 に答える