Beste PHPers,

Ik ben momenteel bezig met een layout en ik kom er niet uit.

Het gaat om een menu, ik gebruik hier een class active, en bij die class komt er een achtergrond bij en wordt de tekstkleur wit.

Nu klopt de achtergrond wel maar de kleur wordt niet aangepast.

Wie kan mij helpen?

De code:

#menu {
	list-style:none;
	float:right;
	display:block;
	font-family:Calibri, Arial;
	font-style:italic;
	font-weight:bold;
	color:#4c4c4b;
}

#menu li {
	float:left;
	display:block;
	margin:10px 5px;
}

#menu li a {
	color:#4c4c4b;
	text-decoration:none;
	padding:5px;
}

#menu li a:hover {
	background-color:#c65604;
	border-radius:5px;
	color:#FFF;
	padding:5px;
}

.active {
	color:#FFF;
	text-decoration:none;
	background-color:#c65604;
	border-radius:5px;
}



<ul id="menu">
	<li><a href="#" class="active">Home</a></li>
	<li><a href="#">Huidanalyse</a></li>
	<li><a href="#">Tarieven</a></li>
	<li><a href="#">Cabines</a></li>
	<li><a href="#">Aanbiedingen</a></li>
	<li><a href="#">Contact</a></li>
</ul>


Ik ben er wel achter dat als ik de css bij #menu li a weghaal, dat de active dan klopt, maar dan klopt de rest van het menu weer niet.

Alvast bedankt!
Heel simpel, je menu krijgt de class active, en tevens wordt #menu li a toegepast.
Om dit te verhelpen kan je van #menu li a beter een class maken, voorbeeld:


<ul id="menu">
<li><a href="#" class="active">Home</a></li>
<li><a href="#" class="not-active">Huidanalyse</a></li>
</ul>
Phoenix Bird op 07/07/2011 11:42:07

Heel simpel, je menu krijgt de class active, en tevens wordt #menu li a toegepast.
Om dit te verhelpen kan je van #menu li a beter een class maken, voorbeeld:


<ul id="menu">
<li><a href="#" class="active">Home</a></li>
<li><a href="#" class="not-active">Huidanalyse</a></li>
</ul>


Kan, maar het is een onzinnige oplossing, zo gebruik je onnodig classes ed. Gewoon CSS een beetje aanpassen.

#menu li a heeft meerdere specifieke elementen om de a te benaderen dan .active, hij geeft dus voorrang aan de CSS #menu li a.

Verander deze regel '.active' voor '#menu li a.active' en dan zou hij het moeten doen.
Ik zal deze onthouden voor volgende keer, ik heb het nu al afgerond op de eerstgenoemde manier
of gewoon
[code]
#menu li a.active {
color:#FFF;
text-decoration:none;
background-color:#c65604;
border-radius:5px;
}
Zou iemand mij in aanvulling hierop kunnen vertellen, waarom dit menu gewoon helemaal onzichtbaar is in IE7?
Mogen we online demo?
Ik zie een ie7 only stukje in je broncode staan met daarin je originele menu voor zover ik kan zien. kan het zijn dat deze er nu boven zweeft in IE?

Ik heb geen IE dus ik kan niet zelf kijken helaas.
De laatste 2 manieren blijken niet te werken,

Ik ben me er maar weer eens in aan het verdiepen, maar krijg het niet werkend!

Reageren