Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/11/2011, 05:35
rege
 
Fecha de Ingreso: noviembre-2009
Mensajes: 41
Antigüedad: 14 años, 5 meses
Puntos: 10
Respuesta: Problema con current_page_item

El signo > es para que lo aplique sólo a los elementos inmediatos seguidos del elemento que indicas, no a sus hijos, es decir... no sé si me explico...

con #blog_left #sidebar ul li.current_page_item > a,
lo que le dices es que aplique el estilo indicado, a los elementos <a> que vayan inmediatamente después del li.current_page_item, si por ejemplo tienes una lista anidada dentro de otra, como es el caso,

Código:
<ul>
<li><a href="#">1</a></li> <li><a href="#">2</a></li> <li class="current_page_item"><a href="#">3</a>
<ul> <li><a href="#">3-1</a></li> <li><a href="#">3-2</a></li> <li><a href="#">3-3</a></li> </ul>
</li> <li><a href="#">4</a></li>
</ul>
con el css de arriba, sólo lo aplicará al <a> marcado como verde, pues es el que va inmediatamente después de li.current_page_item sin estar anidado dentro de otro elemento.

Entonces, para lo que quieres hacer, o bien lo haces así (ojo, que esto creo que no funciona en todos los navegadores) o bien reasignando estilos para los hijos:

por ejemplo, si estado normal es en negro y el actual en azul:

Código:
#blog_left #sidebar ul li a{color:black;}
#blog_left #sidebar ul li.current_page_item a{color:blue;}
#blog_left #sidebar ul li.current_page_item li a{color:black;} /*fíjate que hay 2 li, hago referencia a la lista anidada*/