Archief - CSS: Internet Explorer en margins

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Cakeman

Legacy Member
Ik ben nog maar eens begonnen aan een nieuw 'ontwerpje' voor een site.
Hoera hoera, Internet Explorer zorgt weer voor problemen.

In Opera en FireFox ziet mijn site er identiek hetzelfde uit. Deze browsers geven alles weer zoals ik het bedoeld heb.
Internet Explorer daarentegen zet de linker-margin van mijn content box teveel naar rechts, waardoor de rechtse 'item-boxen' er nietmeer bijpassen.

Verder maakt IE de linker en rechter border van mijn menubar twee pixels te lang.

Heeft iemand enig idee waaraan dat kan liggen of hoe ik dat kan oplossen?

Link: http://users.pandora.be/cakeman/cakeman/squares/
Keywords: Internet Explorer, css, stylesheets, margin, float

servi

Legacy Member
komt omdat IE de divs niet naast elkaar zet, maar altijd onder elkaar. De enige manier om dit te vermijden is door style="position : absolute" of style="position : relative" toe te voegen, dan wordt de div "losgerukt" uit de pagina en aanzien als een layer.

Cakeman

Legacy Member
Wanneer ik de margin-left van mijn content-div op 3px zet ipv op 5px, dan past de rechter kolom van div's er wel naast, zelfs in IE. Dit komt doordat ik mijn content-div een float: left gegeven heb.

Nu staat margin-left dus op 5px. Alle browsers zet die margin ook op 5 pixels, maar IE zet die op 7 pixels ofzo. Waarom respecteert IE de margin niet?

Edit: wanneer ik float:left weg doe, dan plaats IE mijn div ook op 5px van de rand. Wanneer ik float:left er weer bij zet, dan blijft alles in alle browsers gelijk; enkel IE gaat de div dan 2px naar rechts opschuiven waardoor er dus te weinig plaats over is voor de andere divs om ernaast te passen... :(

servi

Legacy Member
omdat IE de boord apart telt.
2 keer boord van 1 pixel + 5 pixels => 7 pixels

Cakeman

Legacy Member
Ik dacht ook dat dat het probleem was servi. Maar zonder float gebruikt IE de correcte margin maar van de moment dat ik de layer float, dan telt IE er 2 pixels bij ???

servi

Legacy Member
onwaarrschijnlijk, maar het proberen waard : zet eens alle divs aaneen zodat er geen spaties meer tussen die divs zijn.

Cakeman

Legacy Member
Ik heb het opgelost door via Javascript de twee div's een andere class te geven indien de browser IE is.

Misschien geen al te propere oplossing, maar als IE het vertikt van proper te renderen, pffrt :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan