PDA

Zobacz pełną wersję : Lewe menu a klasy current active



bartek1981
28-04-2014, 14:14
Co mam zrobić, żeby kliknięta pozycja w lewym menu otrzymała klasy current i active? W przypadku górnego menu problemu nie ma, bo po kliknięciu np. aktualności, w kodzie pojawia się np "item-101 current active" i dzieki tym klasom można sprawić, by bieżąca zakładka była na stronie aktywna.

Dlaczego w przypadku tego menu lewego tak się nie dzieje?

Tu jest pacjent: www.partnerzy.otwartedrzwi.pl

tomaszek83
28-04-2014, 14:20
Jak sie nie dzieje. Jak się dzieje ;)


<ul id="lewe" class="menu"><li class="item-110 current active"><a href="/index.php/galeria-fotografi">Galeria fotografii</a></li>

bartek1981
28-04-2014, 14:46
Okej, już widzę, ale czemu te klasy działają w przypadku menu poziomego, a nie działają w przypadku menu lewego? Przecież dodałem w css linie #lewe li.current.active { kod;}

- - - Updated - - -

Czyli nie wiadomo...? ech...

tomaszek83
28-04-2014, 14:51
Tu masz coś za dużo:

#menu_lewe ul li a {
background-color: #DADDDB;
border: 1px solid #4BA36F;
color: #323232;
display: block;
font-weight: bold;
padding: 10px;
text-decoration: none;
width: 200px;
}

albo tu za mało

#glowne li.current.active, #lewe li.current.active {
color: #FFFFFF !important;
}


Porównaj sobie. Pierwsze formatuje Ci hiperłącze. Czyli a:link, drugi tylko pozycję listy. Zobacz co jest przed czym. Pomoże Ci Firebug.

bartek1981
28-04-2014, 15:04
Teraz zrobiłem tak, ale też nie działa. Zupełnie nie wiem czemu. Wydaje mi się, że ustawione jest we właściwej kolejności. Zatem czemu nie działa?
#menu_lewe ul li a
{
display:block;
padding:10px;
color:#323232;
text-decoration:none;
background-color:#DADDDB;
width:200px;
border:1px solid #4BA36F;
font-weight:bold;
}
#lewe li.current.active
{
background-color:#67756D;
color:white !important;
}

tomaszek83
28-04-2014, 15:18
nie nie w tym rzecz. sprawdź tak:)

#glowne li.current.active, #lewe li.current.active a {
color: #FFFFFF !important;
}

ty najpierw formatujesz li a a pózniej tylko li.current activ

a w kodzie html masz najpierw <li> a później <a>. Więc pobiera ci klasę dla <a> stąd #menu_lewe ul li a

bartek1981
28-04-2014, 15:27
Dzięki, działa. Ale w takim razie dlaczego zadziałało to #glowne li.current.active. Przecież w tej linii na końcu nie ma "a", a przecież działa.

tomaszek83
28-04-2014, 21:56
Nie wiem, nie sprawdzałem górnego menu. Trzeba byłoby przeanalizować cały CSS.