
Vamos añadir dinámicamente una clase CSS (.active) mediante PHP a los enlaces de un menú cuando sean la página activa o current page.
Para ello, añadimos la siguiente función PHP en cada una de las secciones de nuestro Sitio Web.
<?php
function active($currect_page){
$url_array = explode('/', $_SERVER['REQUEST_URI']);
$url = end($url_array);
if($currect_page == $url){
echo 'active';
}
}
?>
Ahora, añadimos la siguiente clase dinámica a las distintas opciones de nuestro menú:
class="<?php active('pagina.php');?>"
Sustituir pagina.php por el nombre de cada uno de los documentos PHP que conforman las secciones de nuestra Web.
Supongamos que este es nuestro menú:
<ul> <li><a href="index.php">Inicio</a></li> <li><a href="el-equipo.php">El equipo</a></li> <li><a href="servicios.php">Sevicios</a></li> <li><a href="contacto.php">Contacto</a></li> </ul>
Tendríamos que modificarlo para que quedara de la siguiente manera:
<ul>
<li><a class="<?php active('index.php');?>" href="index.php">Inicio</a></li>
<li><a class="<?php active('el-equipo.php');?>" href="el-equipo.php">El equipo</a></li>
<li><a class="<?php active('servicios.php');?>" href="servicios.php">Sevicios</a></li>
<li><a class="<?php active('contacto.php');?>" href="contacto.php">Contacto</a></li>
</ul>
Y por último, definimos los estilos de la clase CSS .active y .active:hover en nuestra hoja de estilos CSS:
.active {
color: red !important;
}
.active:hover {
color: blue !important;
}
Añadimos !important para que ignore cualquier otra regla.
Puedes descargar el ejemplo haciendo clic en el siguiente enlace: Descargar ejemplo
5 Comentarios
Muchas gracias, por este pequeño tutorial, me saco de un apuro!
ResponderEliminarMe alegra saber que te ha ayudado. Gracias por visitar el blog y dejar tu comentario. Saludos!
EliminarHola buenísimo me ayudo mucho!..
ResponderEliminarMe alegra saber que te ha ayudado. Gracias por visitar el blog y dejar tu comentario. Saludos!
ResponderEliminarGracias me ayudo mucho!
ResponderEliminar