Я использую php, включает для ограничения дублирования на моих страницах, как у меня может быть своя навигация, текущая страница выбрала с, говорят, что определенный цвет для кнопки "Домой", когда мою навигацию называют из header.php файла.
Если я должен был сказать, чтобы добавить "активный" класс к home.php объекту и добавить стиль, таким образом, он выглядел по-другому, который произойдет через управление по всем моим страницам, который является, почему я использую, включает во-первых, как у меня может быть один header.php файл с моей навигацией, которая также позволяет каждой странице способность показать текущую страницу, Вы идете отраженные в навигации?
Это - военно-морская часть header.php файла
<ul>
<li><a href="index.php">About Us</a></li>
<li><a href="portfolio.php">Portfolio</a></li>
<li><a href="news.php">News</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>
Это - index.php файл, в который включен header.php файл
<?php
include("includes/header.php");
?>
<div class="span-8" id="welcome">
<p>Lorem ipsum</p>
</div>
<div class="span-16 last" id="slideshow">
<img src="images/introImage1.png" alt="fountain">
<img src="images/introImage2.png" alt="bench">
<img src="images/introImage3.png" alt="bridge">
</div>
<?php
include("includes/footer.php");
?>
Попробуйте следующее:
<ul>
<?php
$pages = array('index.php' => 'About Us', 'portfolio.php' => 'Portfolio', 'news.php' => 'News', 'contact.php' => 'Contact');
foreach($pages as $url => $title) {
$li = '<li ';
if($_SERVER[ 'PHP_SELF' ] == $url) {
$li .= 'class="active"';
}
$li .= '><a href="' . $url . '">' . $title . '</a></li>';
echo $li;
}
?>
</ul>
Другой вариант - установить атрибут для тега body
, а затем использовать согласованную пару для изменения стиля любого числа элементов.
Итак, на вашей главной ( домашней ) странице вы можете иметь:
<body id="home">
<a href="/" class="home">Home</a>
<a href="/about.htm" class="about">About Us</a>
Затем в вашем CSS:
body#home a.home , body#about a.about {
color:#999;background-color:#000; }
И еще один вариант - включить один оператор CSS внутри самой страницы.
<style type="text/css">
a[href="<?php echo basename( $_SERVER['PHP_SELF'] ); ?>"] ,
a[href="<?php echo $_SERVER['PHP_SELF']; ?>"] {
/* Styles for Current Page Links */ }
</style>
Конечно, это зависит от того, сможет ли браузер использовать этот селектор CSS.
И, если вы хотите быть полностью уверены в том, что все ссылки на файл покрыты (включая полные URI), включите также следующий селектор:
a[href="http<?php
echo ( $_SERVER['HTTPS'] ? 's' : '' ).'://'.
$_SERVER['HTTP_HOST'].(
( $_SERVER['HTTPS'] && $_SERVER['SERVER_PORT']!=443 )
|| ( !$_SERVER['HTTPS'] && $_SERVER['SERVER_PORT']!=80 ) ?
':'.$_SERVER['SERVER_PORT'] : '' ).
$_SERVER['PHP_SELF']; ?>"]
ОБНОВЛЕНО: Исправленные переменные PHP для использования.