Hoi Georges,
Het heeft even geduurd, maar nu kan ik het beloofde voorbeeld gaan tonen van het levensrad-gehover.
Het meeste werk zat in het "Voorwaarden scheppen": de originele pagina
levensrad.html ontdoen van de tabellen (zodat je ziet waar je mee bezig bent) en de html-errors (zodat die geen roet in het eten kunnen gooien), en het nodige tekenwerk om de afbeelding voor het hoveren gebruiksklaar te maken.
Daarna is het invoeren van de mouse-over code in de <area>'s (met een javascriptje) zo gebeurd!
=====
Fase 1: de kop
We beginnen met de pagina geheel volgens css-opmaak op te zetten.
Het kwam me voor dat de 3 ommani-gifjes eigenlijk naast elkaar horen te staan, dat heb ik maar zo gemaakt.
In het origineel zag ik een "afgeronde hoeken script" voorbijkomen, maar dat werkt niet (het rondehoeken.js is geen javascript, maar een html-pagina).
Er is echter geen javascript voor de ronde hoeken nodig, dat kan ook met een afbeelding geregeld worden. Daarvoor maak je <div>'jes met een achtergrond-image.
Truc: het achtergrond-image kan alle hoekjes bevatten, op elkaar gestapeld.
Met de css-eigenschap {background-position: ....;} gebruik je alleen dat gedeelte, dat ergens nodig is. Over de background-position:
dit artikeltje.
Gradiënt-image van de pagina-background in de breedte opgerekt (zodat ook bredere beeldbuizen bediend kunnen worden) en in de hoogte verkleind (want het wordt toch automatisch verticaal herhaald).
=====
Fase 2: het menu
Dit is het makkelijkste te maken met images voor de knoppen. Ook hier de truc: alle knoppen zitten in 1 afbeelding, en alle hover-toestanden van de knoppen ook. Ze kunnen zelfs gecombineerd worden met het image van de ronde hoeken!
Dan wordt het een zogenaamde "css-sprite":
En weer wordt alles van de menu-knoppen met de background-position naar de juiste plaats gerangeerd. Zie ook
dit artikeltje.
=====
Fase 3: content en footer
Het content-blok heeft een achtergrond-image met de zijkantjes er in. Om bij elke hoogte van een pagina goed uit te komen, zit dit er in met een repeat-y: dan wordt dit naar beneden toe herhaald zoveel als nodig is.
Vanwege die herhaling kan deze afbeelding niet in de eerdere css-sprite opgenomen worden, maar moet het een apart plaatje worden:
Er onder kan weer een stukje van de sprite komen: de onderste ronde hoekjes van het content-blok.
Met weer daaronder de update-regel en de footer.
Het copyright-scriptje verbeterd, zodat het jaartal 2011 wordt i.p.v. 111.
=====
Zo, nu is het raamwerk van de pagina klaar.
De pagina is lekker snel: 5kB html (incl. css), en maar <14kB aan images; meer zit er niet in.
Even de html-validator laten checken:
o.k.
Even de css-validator laten checken:
o.k.
Even checken in verschillende browsers: Internet Explorer, Firefox, Chrome, Opera en Safari: o.k.
Dan kan nu het Levensrad er in gezet gaan worden.
Wordt vervolgd!
Met vriendelijke groet,
CSShunter