문제

나는 여기와 비슷한 막대를 상단에 두는 것을 목표로합니다. http://www.keltainenporssi.fi/현재 사이트의 색상은 빨간색이고 다른 사이트는 검은 색입니다.

내 목표에 어떻게 도달 하시겠습니까? 아마도 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>

다른 팁

PHP와 같은 서버 측 스크립트를 사용하여 그러한 일을하는 것이 일반적입니다. 예를 들어:

<?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>';

?>

이것은 다음과 같은 출력을 생성합니다. (가독성을 위해 형식)

<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>

모든 도메인이 가져올 막대에 대한 단일 CSS를 가질 수 있습니다. CSS에 대한 중요한 규칙을 추가해야합니다. 그렇지 않으면 목록/div에 ID를 추가하거나 구현하는 데 사용하는 모든 것을 추가하여 막대를 "네임 스페이스"로 보호합니다.

예, 현재 사이트를 기반으로 앵커 요소의 클래스를 할당 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top