Hoi pasmaskas en anderen,
Ik heb ze om te beginnen even losgekoppeld:
- Deze is wat er verwacht wordt van browsers die geen Internet Explorer zijn: footer100-notIE.htm.
De footer is hier schermbreed.
Bekijk je die in IE, dan begint de footer in het midden van het scherm (plus een L/R-scrollbar).
- Deze is wat er verwacht wordt van de IE's, met de IE-only styles in het CC: footer100-IE.htm.
De footer zit hier in IE op de goede plaats, maar is niet schermbreed: even breed als de header en de rest.
Bekijk je deze in niet-IE, dan is het resultaat hetzelfde!
Waarom werkt het IE-stylesheet niet voor IE als je deze twee combineert?
Dat hangt van de manier van combineren af!
Bekijken we wat er gebeurt:
- Eerst wordt het algemene stylesheet opgeroepen, daarna het IE-stylesheet.
- Maar: het algemene stylesheet heeft een aantal style-regels die niet in het IE-stylesheeft staan, en ook niet door het IE-stylesheet worden geannuleerd:
Code:
body {
text-align: center;
}
#content {
margin: 0 auto;
text-align: left;
}
Die regels blijven dus ook voor de IE's gewoon doordraaien!
Wil je dat niet, dan moeten ze ofwel tegengas krijgen in het IE-stylesheet, ofwel de 2 stylesheets moeten volledig losgekoppeld worden, door aan IE
niet het algemene stylesheet toe te dienen. *)
Dit 100% loskoppelen kan door een "omgekeerd Conditional Comment" toe te passen voor browsers die niet IE zijn (dan krijgen de IE's die niet te zien):
HTML:
<!--[if !IE]>-->
<link href="http://webdiezign.nl/testwebsite/footer100ie/style.css" rel="stylesheet" type="text/css" />
<!--<![endif]-->
<!--[if IE]>
<link href="http://webdiezign.nl/testwebsite/footer100ie/iestyle.css" rel="stylesheet" type="text/css">
<![endif]-->
Zo worden de schapen van de bokken gescheiden, en is het resultaat hetzelfde als in de eerdere losse versies:
- Uitgesplitst naar browser: footer100-combi.htm
- Bij andere browsers is de footer schermbreed, bij IE gecentreerd maar paginabreed.
Probleem opgelost.
=======
Andere oplossing! :d
Een andere oplossing om Internet Explorer in het gareel te krijgen is het handhaven van alleen het algemene stylesheet, maar met de toevoeging:
Code:
#footer{
...
left: 0; /* voor oudere IE's */
}
Hiermee begint IE net als alle andere browsers met een schermbrede footer vanaf de linkerkant.
- Test: footer100-all.htm
- Dit werkt voor IE7, IE8 en IE9.
- Voor andere browsers kan het geen kwaad.
Conclusie: er is dus helemaal geen CC met speciale IE-styles nodig.
Met vriendelijke groet,
CSShunter
________
*) Beide stylesheets geven de volledige css voor de pagina, dan kan dat.
PS: Met IE6 zou ik maar geen rekening houden, die is qua gebruik volledig ter ziele en komt in de browser-statistieken niet meer voor.
IE6 werkt trouwens ook niet met het IE-stylesheet:
Over IE5 zullen we maar helemaal zwijgen.