Foros del Web » Creando para Internet » CSS »

Menu Activo con class

Estas en el tema de Menu Activo con class en el foro de CSS en Foros del Web. Bueno saludos a todos y espero me puedan ayudar con esto... Tengo un menu echo por tablas todo funciona bien el problema es que como ...
  #1 (permalink)  
Antiguo 28/11/2012, 13:30
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
Pregunta Menu Activo con class

Bueno saludos a todos y espero me puedan ayudar con esto...

Tengo un menu echo por tablas todo funciona bien el problema es que como tengo que poner una sentencia o clase para que en el codigo yo le ponga class="activo" y se muestre activo la opcion.

no se CSS lo utiliso muy basicamente...

este es mi codigo de archivo CSS

Código CSS:
Ver original
  1. table.menu a {
  2.     border: 1px solid #000;
  3.     display: block;
  4.     background-color: #D0E0ED;
  5.     font-family: Tahoma, verdana, sans-serif;
  6. }
  7.  
  8. div.menu a {
  9.     color: #000000;
  10.     text-decoration: none;
  11.     font-size: 12px;
  12.     line-height: 16px;
  13.     padding: 3px 6px;
  14.     font-family: Tahoma, verdana, sans-serif;
  15.     background-color: #BAD1E4;
  16. }  
  17. div.menu (position:absolute;top:0; left:0;) /*fixes IE slowness?? */
  18. div.menu a:link {
  19.     color: #000;
  20.     text-decoration: none;
  21.     background: #BAD1E4;
  22. }
  23. div.menu a:active {
  24.     color: #000;
  25.     text-decoration: none;
  26.     background: #BAD1E4;
  27. }
  28. div.menu a:visited {
  29.     color: #000;
  30.     text-decoration: none;
  31.     background: #BAD1E4;
  32. }
  33. div.menu a:hover {
  34.     color: #FFF;
  35.     text-decoration: none;
  36.     background: #FE7400;
  37.     border: 1px solid #000000;
  38. }

y este es mi menu archivo HTML
Código HTML:
Ver original
  1. <div class="menu">
  2.   <table class="menu">
  3.     <tr>
  4.       <td><a href="partida_agregar.php" class="activo">Partida</a></td>
  5.     </tr>
  6.     <tr>
  7.       <td><a href="proveedor.php">Proveedor</a></td>
  8.     </tr>
  9.     <tr>
  10.       <td><a href="hospital.php">Hospital</a></td>
  11.     </tr>
  12.     <tr>
  13.       <td><a href="orden1.php">Orden</a></td>
  14.     </tr>
  15.     <tr>
  16.       <td><a href="rrappyd.php">Remision Rappyd</a></td>
  17.     </tr>
  18.     <tr>
  19.       <td><a href="factura.php">Factura</a></td>
  20.     </tr>
  21.     <tr>
  22.       <td><a href="reporte/listareportes.php">Reportes</a></td>
  23.     </tr>
  24.   </table>
  25. </div>

La pregunta es como hago para que en mi codigo HTML en la primera opcion de mi tabla si yo le pongo activo (class="activo") se vea activo, con los colores del CSS sobre ( div.menu a:hover { )

archivo CSS
Código CSS:
Ver original
  1. menu.activo tr td a {
  2.     border: 2px solid #000;
  3.     display: block;
  4.     background-color: #FE7400;
  5.     text-decoration: none;
  6.     border: 2px solid #000000;
  7.     background: #FE7400;
  8. }

segun yo esto si lo pongo como activo me deve de poner la opcion como si tubiera el raton sobre la opcion pero no lo logre
  #2 (permalink)  
Antiguo 28/11/2012, 15:22
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Menu Activo con class

Código CSS:
Ver original
  1. menu.activo tr td a
Con esto lo que haces es seleccionar un enlace dentro de td, que está en tr en un tabla que tenga una clase llamada activo.
Es decir, algo así:
Código HTML:
Ver original
  1. <table class="activo">
  2.   <tr>
  3.     <td>
  4.       <a...>

No tienes ninguna tabla con una clase activo.

Tu selector, según tu HTML, debería de apuntar en todo caso a un enlace con la clase activo, no una tabla con la clase activo.
Código CSS:
Ver original
  1. menu tr td a.activo

Supongo que ya lo del :hover lo puedes sacar sin mayor problema.

Y aquí es donde hubiera que recomendarte echarle un vistazo a algún manual/tutorial; http://librosweb.es dicen que está muy bien.

Como dice uno de por aquí, by the way, tampoco estaría de más olvidarte de usar una tabla para hacer un menú.
  #3 (permalink)  
Antiguo 29/11/2012, 18:35
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Menu Activo con class

entonces si yo le pongo en mi archivo css con los atributos, me va a iluminar entonces la tr td que tenco marcada con la classe activo ???

Código CSS:
Ver original
  1. menu tr td a.activo

bueno lo voy a intentar y despues comento como me fue con la respuesta . . .

Última edición por emilio_viguri; 29/11/2012 a las 18:36 Razón: falto
  #4 (permalink)  
Antiguo 30/11/2012, 02:40
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Menu Activo con class

Cita:
Iniciado por emilio_viguri Ver Mensaje
me va a iluminar entonces la tr td que tenco marcada con la classe activo ???
a.activo se refiere a elemento A con la clase activo.
  #5 (permalink)  
Antiguo 30/11/2012, 05:27
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Menu Activo con class

Que por otro lado, es lo único en ese HTML que puede ser activo.



Por tu ejemplo, emilio_viguri, me parece que no tenés mucha idea de CSS. Así que no sé si vas a entender esta explicación, pero comento que -hasta donde sé- con CSS3 no se puede apuntar con formatos a un elemento "padre"; solamente "hijos" y "hermanos".
Y adivino por lo incoherente de tu hoja de estilos que lo que suponés es que con esa sintaxis "subís" desde el ancla hasta (p.e.) la tabla o su contenedor.

Si fuera para la celda que contiene al enlace, hay un pequeño truco, que es expandirlo hasta ocupar toda la celda y así el formato parece que se lo aplicaras a ella.
Si hay más ancestros, lo único que se me ocurre es javascript.

Un detalle: la próxima, si podés poner el código completo, listo para copiar y probar, mejor.
Así como lo dejaste, repartido en cómodas cuotas, no sólo es más difícil de leer, sino de editar para verlo funcionando.
Justo aquí no era grave, porque se entiende de mirarlo por encima; pero en la mayoría de los casos no es así.
  #6 (permalink)  
Antiguo 30/11/2012, 11:32
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
Sonrisa Respuesta: Menu Activo con class

Bueno pues contestando a lo comentado por furoya pongo el codigo completo para mi menu y pues entiendo mas o menos tengo nociones se programar en otras cosas pero no en CSS como ven entonces lo que repito...

solo quiero que la opcion que marque como activo (class="activo") se quede iluminada como si tubiera el raton sobre ella

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. table.menu a {
  4.     border: 1px solid #000;
  5.     display: block;
  6.     background-color: #D0E0ED;
  7.     font-family: Tahoma, verdana, sans-serif;
  8. }
  9.  
  10. div.menu a {
  11.     color: #000000;
  12.     text-decoration: none;
  13.     font-size: 12px;
  14.     line-height: 16px;
  15.     padding: 3px 6px;
  16.     font-family: Tahoma, verdana, sans-serif;
  17.     background-color: #BAD1E4;
  18. }  
  19. div.menu (position:absolute;top:0; left:0;) /*fixes IE slowness?? */
  20. div.menu a:link {
  21.     color: #000;
  22.     text-decoration: none;
  23.     background: #BAD1E4;
  24. }
  25. div.menu a:active {
  26.     color: #000;
  27.     text-decoration: none;
  28.     background: #BAD1E4;
  29. }
  30. div.menu a:visited {
  31.     color: #000;
  32.     text-decoration: none;
  33.     background: #BAD1E4;
  34. }
  35. div.menu a:hover {
  36.     color: #FFF;
  37.     text-decoration: none;
  38.     background: #FE7400;
  39.     border: 1px solid #000000;
  40. }
  41. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  42. <title>Documento sin título</title>
  43. </head>
  44.  
  45.     <div class="menu">
  46.       <table class="menu">
  47.         <tr>
  48.           <td><a href="partida_agregar.php" class="activo">Partida</a></td>
  49.         </tr>
  50.         <tr>
  51.           <td><a href="proveedor.php">Proveedor</a></td>
  52.         </tr>
  53.         <tr>
  54.           <td><a href="hospital.php">Hospital</a></td>
  55.         </tr>
  56.         <tr>
  57.           <td><a href="orden1.php">Orden</a></td>
  58.         </tr>
  59.         <tr>
  60.           <td><a href="rrappyd.php">Remision Rappyd</a></td>
  61.         </tr>
  62.         <tr>
  63.           <td><a href="factura.php">Factura</a></td>
  64.         </tr>
  65.         <tr>
  66.           <td><a href="reporte/listareportes.php">Reportes</a></td>
  67.         </tr>
  68.       </table>
  69.     </div>
  70. </body>
  71. </html>
  #7 (permalink)  
Antiguo 30/11/2012, 12:02
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Menu Activo con class

Bastaría con que cambiaras esta línea
Código CSS:
Ver original
  1. div.menu a:hover

por esta otra.
Código CSS:
Ver original
  1. div.menu a:hover,div menu a.activo:link {

Y hasta este último mensaje la verdad es que no te había entendido. Claro que ahora releyendo si se entiende mejor que antes de saber.

Supongo que probarías con .activo nada más como selector o algo parecido. Pero al tener :link, este tiene preferencia, por lo que hay que volver a declararlo junto al .activo.
  #8 (permalink)  
Antiguo 30/11/2012, 14:53
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Menu Activo con class

Claro, la clase está en el código fuente; dependiendo de la página en que se vea el menú, class=activo se encontrará en uno u otro botón. Pero no los cambiás con CSS ni javascript, ni nada. La única animación es el hover.

Ahora yo también entiendo.
Es así como te dice Bonez, el mismo formato que le das al hover se lo ponés a .activo, separados con una coma.
  #9 (permalink)  
Antiguo 30/11/2012, 15:48
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Menu Activo con class

no pues no lo pude echar andar :( como lo tenia funcion pero no pude hacer la $&#$#%& opcion activada ...

Pero no me quede sin respuesta asi que lo termine encontrando en otro lado y lo termine dejando asi ...

Código CSS:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <style>
  5. #subMenu {
  6.     PADDING-RIGHT: 0px;
  7.     PADDING-LEFT: 0px;
  8.     PADDING-BOTTOM: 0px;
  9.     MARGIN: 0px;
  10.     WIDTH: 100%;
  11.     COLOR: #000000;
  12.     PADDING-TOP: 25px;
  13.     font-family: Verdana, Geneva, sans-serif;
  14. }
  15. #subMenu UL {
  16.     PADDING-RIGHT: 0px;
  17.     PADDING-LEFT: 0px;
  18.     PADDING-BOTTOM: 0px;
  19.     MARGIN: 0px;
  20.     PADDING-TOP: 0px;
  21.     LIST-STYLE-TYPE: none;
  22.     font-family: Verdana, Geneva, sans-serif;
  23. }
  24. #subMenu LI {
  25.     DISPLAY: block;
  26.     MARGIN: 0px;
  27.     LIST-STYLE-TYPE: none;
  28.     font-family: Verdana, Geneva, sans-serif;
  29. }
  30. #subMenu A {
  31.     DISPLAY: block;
  32.     MARGIN: 0px;
  33.     COLOR: #000000;
  34.     TEXT-DECORATION: none;
  35.     font-family: Verdana, Geneva, sans-serif;
  36. }
  37. #subMenu A.d0 {
  38.     PADDING-RIGHT: 12px;
  39.     PADDING-LEFT: 12px;
  40.     PADDING-BOTTOM: 7px;
  41.     PADDING-TOP: 7px;
  42.     background-color: #D0E0ED;
  43.     font-family: Verdana, Geneva, sans-serif;
  44. }
  45. #subMenu A.open {
  46.     background-color: #D0E0ED;
  47.     font-family: Verdana, Geneva, sans-serif;
  48. }
  49. #subMenu A.d1 {
  50.     PADDING-RIGHT: 12px;
  51.     PADDING-LEFT: 24px;
  52.     BACKGROUND: #D0E0ED;
  53.     PADDING-BOTTOM: 7px;
  54.     PADDING-TOP: 7px;
  55.     font-family: Verdana, Geneva, sans-serif;
  56. }
  57. #subMenu A.d2 {
  58.     PADDING-RIGHT: 12px;
  59.     PADDING-LEFT: 36px;
  60.     BACKGROUND: #D0E0ED;
  61.     PADDING-BOTTOM: 7px;
  62.     PADDING-TOP: 7px;
  63.     font-family: Verdana, Geneva, sans-serif;
  64. }
  65. #subMenu A.d3 {
  66.     PADDING-RIGHT: 12px;
  67.     PADDING-LEFT: 48px;
  68.     BACKGROUND: #D0E0ED;
  69.     PADDING-BOTTOM: 7px;
  70.     PADDING-TOP: 7px;
  71.     font-family: Verdana, Geneva, sans-serif;
  72. }
  73. #subMenu A:hover {
  74.     background-color: #FA7200;  /* BACKGROUND: #a9a18c */
  75.     font-family: Verdana, Geneva, sans-serif;
  76. }
  77. #subMenu #current {
  78.     FONT-WEIGHT: bold;
  79.     background-color: #FF9C4A;  /* FONT-WEIGHT: bold; BACKGROUND: #d0cbbf */
  80.     font-family: Verdana, Geneva, sans-serif;
  81. }
  82. #subMenu A.open {
  83.     BACKGROUND: #ECD9D9;
  84.     font-family: Verdana, Geneva, sans-serif;
  85. }
  86. </style>
  87. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  88. <title>Documento sin título</title>
  89. </head>
  90.  
  91. <body>
  92. <div id="subMenu">
  93.     <ul>
  94.         <li><a href="partida_agregar.php" class="d0" id="current">Partida</a></li>
  95.         <li><a href="proveedor.php" class="d0">Proveedor</a></li>
  96.         <li><a href="hospital.php" class="d0">Hospital</a></li>
  97.         <li><a href="orden1.php" class="d0">Orden</a></li>
  98.         <li><a href="rrappyd.php" class="d0">Remision Rappyd</a></li>
  99.         <li><a href="factura.php" class="d0">Factura</a></li>
  100.         <li><a href="reporte/listareportes.php" class="d0">Reportes</a></li>
  101.     </ul>
  102. </div>
  103. </body>
  104. </html>
  #10 (permalink)  
Antiguo 30/11/2012, 19:57
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Menu Activo con class

Es que seguimos en la misma. No entendés, entonces copiás y pegas; y te quedan esos códigos que después tenemos que venir a corregirlos.
Porque está muy bien y te reconocemos el que traigas una solución luego de plantear una duda, pero la idea es que publiquemos código que sirvan de ejemplo para que otros aprendan.

¡Mirá el ejemplo que les estás dando!

Lo que te decía Bonez era

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#subMenu {
    padding: 0;
    margin: 0;
    width: 100%;
    padding-top: 25px;
    font-family: verdana, geneva, sans-serif;
}
#subMenu ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
#subMenu li {
    margin: 0;
}
#subMenu a {
    display: block;
    margin: 0;
    color: #000000;
    text-decoration: none;
}
#subMenu a.d0 {
    padding: 7px 12px;
    background-color: #d0e0ed;
}
#subMenu #current, #subMenu a:hover {
    font-weight: bold;
    background-color: #fa7200;
}

</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
 
<body>
<div id="subMenu">
    <ul>
        <li><a href="partida_agregar.php" class="d0" id="current">Partida</a></li>
        <li><a href="proveedor.php" class="d0">Proveedor</a></li>
        <li><a href="hospital.php" class="d0">Hospital</a></li>
        <li><a href="orden1.php" class="d0">Orden</a></li>
        <li><a href="rrappyd.php" class="d0">Remision Rappyd</a></li>
        <li><a href="factura.php" class="d0">Factura</a></li>
        <li><a href="reporte/listareportes.php" class="d0">Reportes</a></li>
    </ul>
</div>
</body>
</html>
Allí ves la separación con coma y el código limpio. Y ahora sí están iguales los formatos.
  #11 (permalink)  
Antiguo 03/12/2012, 16:13
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 116
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Menu Activo con class

Si este codigo si me funciono con LI, pero con tablas NO pude hacerlo, que si te das cuenta en si el que yo pido ayuda fue el de table el primer codigo y el ultimo codigo que puse publicando es como lo pude hacer funcionar y si funciona ...
  #12 (permalink)  
Antiguo 03/12/2012, 16:46
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Menu Activo con class

Ah. No me acordaba. Yo te depuré el último ejemplo, que ya andaba, pero era cualquier cosa menos prolijo.

¿Qué problema tenés con la tabla? Habrá que hacer algún ajuste de formato, pero tendría que andar igual.


Edición:

Para que vamos a andar con vueltas. Los dos sabemos que en una tabla anda perfectamente.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<style type="text/css">
#menu {
    padding: 0;
    margin: 0;
    width: 100%;
    font-family: verdana, geneva, sans-serif;
}
#menu a {
    display: block;
    margin: 0;
    font-size: 16px; 
    width: 10em;
    color: #000000;
    text-decoration: none;
    padding: 7px 12px;
    background-color: #d0e0ed;
}
#menu #current, #menu a:hover {
    font-weight: bold;
    background-color: #fa7200;
}
</style>
</head>
<body>

  <table id="menu">
    <tr>
      <td><a href="partida_agregar.php" id="current">Partida</a></td>
    </tr>
    <tr>
      <td><a href="proveedor.php">Proveedor</a></td>
    </tr>
    <tr>
      <td><a href="hospital.php">Hospital</a></td>
    </tr>
    <tr>
      <td><a href="orden1.php">Orden</a></td>
    </tr>
    <tr>
      <td><a href="rrappyd.php">Remision Rappyd</a></td>
    </tr>
    <tr>
      <td><a href="factura.php">Factura</a></td>
    </tr>
    <tr>
      <td><a href="reporte/listareportes.php">Reportes</a></td>
    </tr>
  </table>

</body>
</html>

Última edición por furoya; 03/12/2012 a las 17:27 Razón: Al fin, puse el ejemplo...

Etiquetas: activo, class, hover, html, fondo
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 16:15.