Spry menubar verschllende kleuren mogelijk?

Status
Niet open voor verdere reacties.

amseelen

Nieuwe gebruiker
Lid geworden
16 aug 2010
Berichten
3
Ik heb een spry horizontale menubar gemaakt in een template Dreamweaver CS3.
Nu wil ik het hoofditem van de pagina die actief is een andere achtergrond kleur geven, zodat zichtbaar is waar je je bevindt op de site. Ik krijg het tot nu toe met geen mogelijkheid voor elkaar.
Kan iemand mij hier bij helpen?
Vr. groet Anneke
 
2 mogelijkheden:

- De HTML manier.
Gewoon iedere HTML pagina een anderekleur geven van die balk.
dus bij home.htm heb je home ingekleurd en bij about.htm heb je about ingekleurd en ja dus ook allemaal verschillende afbeeldingen maken

- De PHP manier maar dan heb je wel wat ervaring erin nodig.
 
@raycko
Ik denk dat dit een beetje voorbij gaat aan de vraag: hoe doe je het in een Spry-menu?
Maar gelukkig is er ook nog een derde mogelijkheid. ;)

@Anneke
Die derde mogelijkheid is de CSS-manier.
Hoe het precies in het Sprymenu staat weet ik niet, maar als het goed is zou elk menu-item al een eigen id moeten hebben.
Als het niet goed is, moet elk menu-item (d.w.z. elke link: elke <a> van het menu) alsnog een eigen id krijgen.
Bijvoorbeeld:
HTML:
<ul id="menu">
   <li><a id="home" href="index.html">Home</a></li>
   <li><a id="miljoen" href="miljoen.htm">Een miljoen in 2 dagen</a></li>
   <li><a id="kwijt" href="kwijt.htm">Een miljoen in 2 dagen kwijt</a></li>
</ul>
Nu krijgt elke pagina in de <body>tag een eigen class, met dezelfde naam als z'n id in het menu. Bij de homepage bijvoorbeeld:
HTML:
...
</head>
<body class="home">
... enz.
Nu moeten we met css vertellen dat alléén de pagina met de class="home" een afwijkende menukleur moet krijgen in (alleen) het menu-item met id="home".
Stel de normale achtergrondkleur van een menu-item is blauw, en de tekst is wit. In de actuele pagina willen we dat omdraaien. Dan wordt het:
Code:
#menu a { 
   background: blue; 
   color: white;
   }
.home #menu a#home {
   background: white;
   color: blue;
   }
Alle andere pagina's hebben geen class="home" in hun <body> staan, dus daar blijft de a#home gewoon blauw.
Op deze manier kunnen we nu een prettig rijtje maken voor alle pagina's tegelijk:
Code:
.home #menu a#home,
.miljoen #menu a#miljoen,
.kwijt #menu a#kwijt { /* attentie: de laatste mag géén komma! */
   background: white;
   color: blue;
   }
Zo krijgt telkens alleen de pagina van dienst z'n witte gezicht.
En vind je na verloop van tijd het wit toch wat bleekjes, dan is dat met één verandering in je stylesheet geregeld. :)

Met vriendelijke groet,
CSShunter

PS:
  • Op dezelfde manier kan je ook in het menu de hover-kleuren van de actuele pagina schrappen, de cursor "aanwijshandje" niet laten zien (je bent er toch al, en hoeft daar niet te klikken), enz.
  • En hier is een voorbeeld van zo'n menu in werking.
 
Bedankt, maar toch nog een probleempje

De CSS manier werkt, maar kan ik niet gebruiken icm mijn template.
De body tag is niet bewerkbaar in de html documenten gebaseerd op de template en het lukt me niet om er een bewerkbaar gebied van te maken.
Is hier nog iets op te verzinnen......?
Groet, Anneke
 
Gelukt!

Het body probleempje is opgelost, gevonden op een ander forum:

You can make the onload attribute of the body tag editable (even though it's not in an editable region) by putting the cursor in the body tag, and choosing modify/template/make attribute editable.

DW will throw some code into the template, and the result is that when you go into a document based on the template, you can click modify/template properties, and set the appropriate action you want for onload.

Super, het werkt!
Nogmaal bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan