John Hebert Trindade Posted February 16, 2021 at 06:00 PM Report Share #621353 Posted February 16, 2021 at 06:00 PM (edited) Boa tarde pessoa, tenho um menu a funcionar, mais gostaria de quando eu selecionasse um submenu, por exemplo, "Exposições", que a menu "Eventos" também ficasse com outra cor, só que não estou a conseguir: Acho que "li" no menu também tem que estar a classe (class="active"). <?php $file = explode('/', $_SERVER['SCRIPT_NAME']); $file = array_pop($file); $menus = [ 'index' => 'Inicio', 'artista' => 'Artista', 'eventos' => [ 'exposicoes' => 'Exposições', 'imprensa' => 'Imprensa', 'concurso' => 'Concurso', 'curso' => 'Curso' ], 'meusbebes' =>[ 'adotados' => 'Adotados', 'adotar' => 'Por Adotar', 'cuidados' => 'Cuidados' ], 'info' => [ 'idealizacao' => 'Idealização', 'entrega' => 'Entrega', 'criacao' => 'Criação' ], 'comments' => 'Comentários', 'contactos' => 'Contactos', ]; //gera menu bar echo $display = '<nav id="menu"><section>'; $display = '<ul>'; foreach ($menus as $key => $value) { $link = $key.'.php'; $class = $file == $link ? "class='active'": null; //gera sub_menu if (is_array($value)) { $display.= "<li>$key<ul>"; foreach ($value as $sub_key => $sub_value) { $link = $sub_key.'.php'; $class = $file == $link ? "class='active'": null; $display.= "<li $class> <a href='$link'> $sub_value</a></li>"; } $display.= '</ul></li>'; }else{ $display.="<li $class> <a href='$link'> $value</a></li>"; } } echo $display.'</ul></section></nav>'; ?> css nav#menu li.active{ background-position:top; color:firebrick; } Edited February 25, 2021 at 10:39 AM by John Hebert Trindade faltava item Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now