Foros del Web » Creando para Internet » CSS »

Menu cambio fondo

Estas en el tema de Menu cambio fondo en el foro de CSS en Foros del Web. Hola buenas a todos, quiero conseguir el efecto que tiene la siguiente web: http://www.4templates.com/help/frequ...ked-questions/ Que cuando pinchas en cualquier botón del mundo este cambia y ...
  #1 (permalink)  
Antiguo 05/09/2011, 07:00
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Menu cambio fondo

Hola buenas a todos, quiero conseguir el efecto que tiene la siguiente web:
http://www.4templates.com/help/frequ...ked-questions/

Que cuando pinchas en cualquier botón del mundo este cambia y se queda fijo con otro color de fondo, como haciendo que se vea en que sección estas.

No consigo hacerlo, busque por ahí y no encuentro como se llama ese efecto, conozco el hoover y eso, pero no es eso lo que quiero.

El efecto lo quiero en mi web www.liberartumovilenalicante.com
en el menu que cuando pinche una sección el bvotón se quede fijo con el fondo azul. Y que por defecto al entrar en la web se marque el botón de inicio.

Espero haberme explicado y que puedan ayudarme, un saludo y gracias!
  #2 (permalink)  
Antiguo 05/09/2011, 07:38
 
Fecha de Ingreso: octubre-2010
Mensajes: 66
Antigüedad: 13 años, 6 meses
Puntos: 7
Respuesta: Menu cambio fondo

No es una propiedad CSS en si, tendrás que declarar una clase "activo" y aplicarsela al botón cuando sea necesario.

Es decir, en la home tu menú será algo asi:

<li class="activo"><a href="#">Home</a></li>
<li><a href="#">Sección 2</a></li>
<li><a href="#">Contactar</a></li>

y en contactar sería:

<li><a href="#">Home</a></li>
<li><a href="#">Sección 2</a></li>
<li class="activo"><a href="#">Contactar</a></li>



Otra cosa que puedes hacer es ponerle una clase especifica a cada li, y cambiarle la clase al html o body, según la sección donde estás... si te interesa está opción ya la comento con calma ;)
  #3 (permalink)  
Antiguo 05/09/2011, 07:57
Avatar de DrFaust  
Fecha de Ingreso: septiembre-2011
Ubicación: Buenos Aires
Mensajes: 308
Antigüedad: 12 años, 8 meses
Puntos: 87
Respuesta: Menu cambio fondo

En cada uno de los archivos PHP de tu sitio, modificá la parte donde dice, por ejemplo:

Código:
<a href="index.php" onmouseover="document.inicio.src='images/inicio_b.jpg';" onclick="document.inicio.src='images/inicio_b.jpg';" onmouseout="document.inicio.src='images/inicio_a.jpg';"> 
<img src="images/inicio_a.jpg" border="0" alt="inicio" name="inicio"> 
</a>
Para que te quede así:

Código:
<a href="index.php"> 
<img src="images/inicio_b.jpg" border="0" alt="inicio" name="inicio"> 
</a>
Lo que hace eso es eliminar el efecto hover y reemplazar la imagen del botón inactivo por la del botón activo.
  #4 (permalink)  
Antiguo 05/09/2011, 09:25
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Menu cambio fondo

Si pero la web dividida, un cabecera.php que luego incluyo. No se si me explico. Donde incluye la cabecera y el menu, y eso lo incluyo en cada archivo php por eso no puedo cambiarlo de esa manera.
  #5 (permalink)  
Antiguo 05/09/2011, 09:46
Avatar de DrFaust  
Fecha de Ingreso: septiembre-2011
Ubicación: Buenos Aires
Mensajes: 308
Antigüedad: 12 años, 8 meses
Puntos: 87
Respuesta: Menu cambio fondo

Entiendo el problema.

En ese caso, sencillamente agregá un bloque IF a cada botón del menú. Un ejemplo, para el botón INICIO:

Código:
if ($seccion == "index.php") {
  // Botón resaltado y sin hover
}
else {
  // Botón con hover
}
Es posible que tu cabecera no sepa en qué página estás actualmente. Podés obtener la URL de la página actual con la siguiente función:

Código:
function curPageName() {
  return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
}
Una cosa más: la botonera que estás usando, utilizando una imagen para cada botón, es completamente innecesaria. Podrías lograr exactamente lo mismo con estilos CSS, y tu sitio cargaría mucho más rápido.

Última edición por DrFaust; 05/09/2011 a las 09:54
  #6 (permalink)  
Antiguo 05/09/2011, 10:03
 
Fecha de Ingreso: noviembre-2008
Ubicación: el sol
Mensajes: 146
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Menu cambio fondo

Cita:
Iniciado por DrFaust Ver Mensaje
Entiendo el problema.

En ese caso, sencillamente agregá un bloque IF a cada botón del menú. Un ejemplo, para el botón INICIO:

Código:
if ($seccion == "index.php") {
  // Botón resaltado y sin hover
}
else {
  // Botón con hover
}
Es posible que tu cabecera no sepa en qué página estás actualmente. Podés obtener la URL de la página actual con la siguiente función:

Código:
function curPageName() {
  return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
}
Una cosa más: la botonera que estás usando, utilizando una imagen para cada botón, es completamente innecesaria. Podrías lograr exactamente lo mismo con estilos CSS, y tu sitio cargaría mucho más rápido.
Es posible lograr esos botones desde CSS, pero lo he intentado y no doy, además los quiero con sombra ... pero solo he visto que los efectos sombra de CSS solo sirven para firefox (creo) ¿me puedes orientar como hacerlo?
¿pequeño tuto?

Etiquetas: fondo, cambios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:10.