Bonjour,

J'aurais voulu mettre en place un système qui change la couleur du lien du menu de navigation quand on est sur la page qui correspond.

J'ai alors rajouté un a:active, un peu comme j'avais fait pour mes a:hover, mais cela ne fonctionne pas.

Voici mon code (seulement la partie utile) :

#left_menu li a:hover, #header li a:hover, #left_menu li a:active, #header li a:active {
color: #5674BA;
}


<div id="header>
<ul>
	<li><a href="accesskeys.php" accesskey="0">AccessKeys</a></li>
	<li><a href="contacts.php" accesskey="7">Contacts</a></li>
	<li><a href="copyrights.php" accesskey="8">Copyrights</a></li>
	<li><a href="privacy_policy.php" accesskey="5">Privacy Policy</a></li>
	<li><a href="site_map.php" accesskey="3">Site Map</a></li>
</ul>
</div>

<div id="left_menu">
<ul>
	<li><a href="tools/battles.php">Battles</a></li>
	<li><a href="tools/infos.php">Informations</a></li>
	<li><a href="tools/map.php">Map</a></li>
	<li><a href="tools/rankings.php">Rankings</a></li>
	<li><a href="tools/tools.php">Tools</a></li>
</ul>
</div>



Le a:hover fonctionne mais pas le a:active, vous voyez d'où ça peut venir ?

Merci d'avance.

Edit: mince j'avais ouvert 2 onglets du forum alsa j'ai inversé forum débutant avec forum CSS.
Modifié par Rasta31 (03 Aug 2007 - 17:00)
Bonjour,

Comme dit par Gihef, la pseudo-classe :active ne correspond absolument pas à «la page en cours», et encore moins bien sûr à «la rubrique en cours».

Il n'y a pas de moyen en CSS pour détecter si un lien pointe vers la page en cours. Il faudra nécessairement marquer ces liens dans le code HTML, par exemple en leur donnant une classe spécifique.
Huuuuuuuuuuum, on pourrait imaginer un système avec PHP (récup' de $_GET)
On colle un "class" ou un ID sur le lien dont le nom la valeur est une variable.
Dans la css, on déclare tous les états du liens (dans ton cas, 2 états par lien)
On écrit un script PHP qu'on inclue sur chaque page et qui dit que si on est sur telle page, alors la valeur de id ou de la class est ça ou ça.

Je sais pas si j'ai été clair, mais moi, ça me semble simple.
en gros pour la page :

http://www.tonsiteweb.com/page.php

<?php
$page_actuelle = '';
if($_SERVER['REQUEST_URI'] == "/page.php") {
$page_actuelle = ' id="lien_actif"';
}

echo '<a href="page.php"'.$page_actuelle.'>Page</a>';
?>

a#lien_actif {
color: #FF0000;
}

Modifié par Rasta31 (05 Aug 2007 - 04:04)