私はここのように上部に同様のバーを持っています:http://www.keltainenporssi.fi/ 現在のサイトの色は赤で、他のサイトは黒です。サイトを確認し、CSSスタイルを決定しますか?
どのように私の目標に達するでしょうか? おそらくPHPによって?
擬似コードでの構文は
if $site = A
use-styleA
if $site = B
use-styleB
else
use-FinalStyle
私はここのように上部に同様のバーを持っています:http://www.keltainenporssi.fi/ 現在のサイトの色は赤で、他のサイトは黒です。サイトを確認し、CSSスタイルを決定しますか?
どのように私の目標に達するでしょうか? おそらくPHPによって?
擬似コードでの構文は
if $site = A
use-styleA
if $site = B
use-styleB
else
use-FinalStyle
非動的なアプローチ:
あなたはそうのように、各サイトのCSSルールを使用することができます。
/* site-one.css */
#top-nav li.site-one a {
color: red;
}
/* site-two.css */
#top-nav li.site-two a {
color: red;
}
/* site-three.css */
#top-nav li.site-three a {
color: red;
}
HTML:
<ul id="top-nav">
<li class="page-one"><a href="pages/one">Page one</a></li>
<li class="page-two"><a href="pages/two">Page two</a></li>
<li class="page-three"><a href="pages/three">Page three</a></li>
</ul>
あなたはすべてのドメインがフェッチされるバーのための単一のCSSを持つことができるかもしれません。そのCSSに重要なルールを追加してルールが他のものによって上書きされないようにしてください。それ以外の場合は、list/divにIDを追加するか、それを実装するために使用するものを追加することで、 "名前空間"のバーを保護します。
このようなことを行うには、PHPなどのサーバー側スクリプトを使用するのが一般的です。例えば:(読みやすくするためにフォーマット済み)
<ul id="top-nav">
<li><a href="pages/home">Home</a></li>
<li class="active"><a href="pages/one">Page one</a></li>
<li><a href="pages/two">Page two</a></li>
</ul>
はい、あなたは現在のサイトに基づいてアンカー要素のクラスを割り当てることができます:
<?PHP
echo '<ul id="top-nav">';
foreach($page as $pageId => $text) {
echo '<li';
if($curPage == $pageId)
echo ' class="active"';
echo '>';
echo '<a href="pages/' . htmlspecialchars($pageId) . '">';
echo htmlspecialchars($text);
echo '</a>';
echo '</li>';
}
echo '</ul>';
?>
これは、のような出力を生成します。