Hoi-hoi,
Ja, ik ken dat: als je een onwillige webpagina aan het rechttrekken bent, duurt alles te lang totdat het opgelost is.
Voor de compleetheid heb ik je codes nog even ingebakken in een html-documentje, zodat het voor passanten wat makkelijker voor te stellen is:
De css-validator merkte nog twee foutjes op in je bovenstaande css:
Code:
#dienstenalgcontainer {
...
heig[COLOR="DarkRed"]th[/COLOR]:300px;
[I]moet zijn:[/I]
heig[COLOR="DarkGreen"]ht[/COLOR]:300px;
...
background-color:[COLOR="DarkRed"]none[/COLOR];
[I]moet zijn:[/I]
background-color:[COLOR="DarkGreen"]transparent[/COLOR];
}
(rechtgetrokken in de testpagina)
Verder is het nog even uitkijken geblazen met de opgegeven hoogte van de <ul> van het horizontale menu in combinatie met de opgegeven hoogte van de <a>'s in de <li>'s daarbinnen. Bij vergroting van de lettergrootte (wat de bezoeker in z'n/h'r browser altijd kan doen) krijg je dit effect in Firefox en Safari:
Oorzaak is de {line-height:60px;} van de <a>'s bij een {height:60px;} van de omvattende <ul>.
De berekening van de line-height is
nogal ingewikkeld, maar het komt er op neer dat de line-height een minimale afstand is, en de totale hoogte met de letters zelf kan groeien bij toegenomen hoogte van de letters.
Door de {height:60px;} van de <ul> te schrappen, ben je van het trappetjes-verschijnsel af; dan rekt of krimpt de <ul> in hoogte vanzelf mee met de items.
Wat we uit deze testpagina meteen opmaken, is dat het eerste element na het horizontale menu (met een bordertje van streepjes) op een verschillende afstand er onder begint bij verschillende browsers, en dat ook het submenu daar weer onder op een verschillende start-hoogte begint:
Firefox, Opera, Safari en Chrome doen het zoals op de linker afbeelding, IE (IE7, in dit geval) doet het zoals op de rechter afbeelding. Dit wordt veroorzaakt door een verschil van opvatting over de standaard-waarden van de margins en paddings die in een <ul> en een <li> moeten zitten. Om hier van af te komen, kan je het beste alle margins en paddings van <ul>'s en <li>'s ofwel op 0 zetten, ofwel op een bepaalde waarde.
Dat zal ze leren: dan
moeten ze wel hetzelfde doen! :d
In dit geval is de redding:
Code:
#navcontainer ul {
...
margin-bottom: 5px; /* of 0px, of een andere expliciete waarde */
}
#dienstenalgcontainer ul { /* toegevoegd */
margin-top: 0;
margin-bottom: 0;
}
Met vriendelijke groet,
CSShunter