Ga naar inhoud

[CSS] Margins doen raar


anoniem

Aanbevolen berichten

Hallo, Ik ben net begonnen met css, dus weet er nog niet zoveel vanaf. Wat ik wil zijn 3 vakken met een blauwe achtergrond en tekst erin. 1 tje boven in het scherm over de gehele breedte 1 tje daaronder die links evenveel uitgelijnd staat als die erboven en daarnaast nog eentje die rechts evenveel uitgelijnd staat als erboven. Op zich lukt het wel aardig. Van de bovenste heb ik een margin left, right en top van 10px. Die links onder moet dat dus ook hebben dacht ik anders staat hij er niet recht onder. Maar wat blijkt nu als ik hier een margin left van 10px geeft staat hij verder naar rechts! Geef ik echter een margin van 5px dan staat hij er wel recht onder. Hoe zit dit nu?? de 10px van de padding die ik gebruik is wel overal evengroot. Ik snap er niets meer van. Waarom schuift hij bij de onderste met evenveel margin meer op? Kan iemand mij dat uitleggen? hieronder staat de code die in mijn css file staat. Nu staat het dus wel recht onder elkaar, en als ik margin overal 10 maak niet. Ik had juist gedacht dat het andersom zou zijn! Groeten, Wouter [code:1:fa5e31b708].BOVEN { background-color : Navy; color : White; margin-bottom : 10px; margin-right : 10px; margin-top : 10px; margin-left : 10px; padding-bottom : 10px; padding-left : 10px; padding-right : 10px; padding-top : 10px; } .HOOFD { float : right; background-color : Navy; color : Black; margin-left : 5px; margin-right : 5px; margin-bottom : 5px; margin-top : 5px; padding-bottom : 10px; padding-left : 10px; padding-right : 10px; padding-top : 10px; } .LINKS { float : left; background-color : Navy; color : White; padding-left : 10px; padding-right : 10px; padding-bottom : 10px; padding-top : 10px; font : x-large; margin-left : 5px; margin-right : 5px; margin-bottom : 5px; margin-top : 5px; }[/code:1:fa5e31b708]
Link naar reactie
Komt door een IE bug :evil: , in Mozilla klopt alles wel namelijk. Dat heeft met float te maken. Heel erg irritant. Als je bepaalde breedtes hebt voor je divs kan ik je wel helpen anders wordt het nogal lastig. Ik heb je code iig even voor je verbeterd:[code:1:0f6ca86d12]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>blaat</title> <style> html,body{ margin:0; } #boven{ background:Navy; color:#fff; margin:10px; padding:10px; } #rechts{ float:right; background:Navy; color:#000; margin:10px; padding:10px; } #links{ float:left; background:Navy; color:#fff; margin:10px; padding:10px; font:x-large; } </style> </head> <body> <div id="boven">df</div> <div id="rechts">fd</div> <div id="links">df</div> </body> </html>[/code:1:0f6ca86d12]
Link naar reactie
Wat beter zou zijn is geldig CSS plaatsen om het probleem op te lossen. Door een andere bug in IE werkt het volgende ook, terwijl er eigenlijk onzin staat (maar wel geldig is):[code:1:3dbf1a36e1]* #hoofd, * #links{ margin: 5px; }[/code:1:3dbf1a36e1]Als je dit bij de code van Termin8or plaatst dan zou het goed moeten werken in alle browsers. - Bas
Link naar reactie
Dat kan ook. Ik wist niet dat de css-validator over zoiets struikelt: -margin:5px; Het - teken is bedoelt voor vendor-specific extensions (zoals Mozilla er vele kent) en zou geen foutmelding moeten geven voor zover ik weet. Het valideren van css vind ik eigenlijk ook niet zo van belang, aangezien browsers toch worden geacht ongeldige declaraties te negeren.
Link naar reactie
[quote:a40d2055a0="hulpje"]Het - teken is bedoelt voor vendor-specific extensions (zoals Mozilla er vele kent) en zou geen foutmelding moeten geven voor zover ik weet.[/quote:a40d2055a0]Voor alle duidelijkheid: vendor-specific extensions zijn [b:a40d2055a0]geen[/b:a40d2055a0] geldig CSS en zullen dan ook gewoon door de validator als foutief bestempeld worden. Wat betreft het valideren van CSS... Ik ben er nog steeds niet over uit. Enerzijds is het belangrijk je aan de standaarden te houden, anderzijds kun je er leuke dingen mee terwijl andere browsers er niet per definitie last van hoeven te hebben. Toch wil ik voorlopig CSS laten valideren. Ben er gewoon nog niet helemaal uit... @termin8or: Weet je zeker dat jouw oplossing de juiste is? De bug in IE houdt namelijk in dat IE de eerste * niet herkent, dus feitelijk staat er bij mij dan alleen de ID. Of doen we het gewoon allebei fout? Volgens mij is de ID namelijk geen child van html maar van body. - Bas
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...