2009-03-05 3 views
0

Я собираюсь иметь аналогичный бар в верхней части, как здесь: http://www.keltainenporssi.fi/ Цвет текущего сайта находится в красном цвете, а другие - в черном цвете.Проверка сайта и определение стиля CSS?

Как вы бы могли достичь своей цели? Возможно, php?

Синтаксис в псевдо-коде может быть

if $site = A 
    use-styleA 
if $site = B 
    use-styleB 
else 
    use-FinalStyle 

ответ

1

Non-динамический подход:

Вы можете использовать правило 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> 
1

Вы можете иметь один CSS для бара, который все домены будут кокетливыми. Удостоверьтесь, что вы добавили важные правила в этот css, чтобы его правила не были переопределены ничем другим. В противном случае защитите панель в «пространстве имен», добавив идентификатор в список/div или все, что вы будете использовать для его реализации.

2

Общепринято использовать серверный скрипт, такой как 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> 
0

Да, вы можете назначить класс якорного элемента на основе текущего сайта.

Смежные вопросы