Hey, det skyldes en "bug" i IE. Hvis du i dit stylesheet øverst skriver: body{text-align:center;} så burde det rette problemet, så skal du bare lige rette til de steder hvor teksten alignes forkert.
"Hey, det skyldes en "bug" i IE" >> Undskyld, men den kommentar kan kun skyldes fravær af kendskab til CSS. Det har intet på sig!
Property'en 'text-align' må/kan - som navnet vel også tydeligt udsiger - _kun_ aligne tekst og andet inline indhold. Block-elementer (f.eks. div) centreres derimod med property'en 'margin': <div style="width:200px;background:yellow;margin:0 auto">Centreret element</div>
At så det dokument, der linkes til, mangler en bunke vigtige 'detaljer', før det kan kaldes et HTML-dokument, er en helt anden ting =)
"Men som altid brokker IE sig over den." >> I virkeligheden er det utroligt, at siden overhovedet kan vises i en browser. At det alligevel sker, er sort uheld ;o)
Hallo manden spurgte ikke om om ikke i havde lyst til at tude over hans ikke validerende HTML men om en løsning på et problem. Mht til den bug i IE så tag at søg på google efter info, der er skrevet om det på et hav af design og kode blogs.
Det er fuldstændig underordnet om der er en bug eller ej i IE. Når man skriver invalid html kan man ALDRIG regner med at ens styles virker efter hensigten. At du tilføjer en lille css kode gør hverken fra eller til når html er så ringe sat op.
Og nej der finde ikke nogen bug i IE ang. centring af indhold, det kræver bare at man skriver lidt godt html kode og skriver de rigtige css styles. I stedet for at læse tåbelige blogs skrevet af folk, som du ingen chance har for at vide om deres kendskab til css og html, så skulle du tag og læse standarten for css.
Inden du belærer fucke om hans manglende kendskab til css kunne du jo have brugt 2 minutter på at checke om han havde ret i det han siger... Den div du angiver i din tekst bliver ikke renderet centreret i IE. Det gør den kun i firefox. Det "hack" man så typisk bruger for at få IE til at rendere det centreret er, at sætte text-align til "center" på sin body, og efterfølgende justere text-align tilbage til "left" i sine divs.
To eksempler: 1. Centrerer div'en i IE <html> <body style="text-align:center"> <div style="text-align:left; width:200px;background:yellow;margin:0 auto">Centreret element</div> </body> </html>
2. Centrerer ikke div'en i IE <html> <body> <div style="width:200px;background:yellow;margin:0 auto">Centreret element</div> </body> </html>
Om det så er en bug i IE eller ej, det kender jeg ikke standarden godt nok til at udtale mig om, men det er et problem man som programmør er nødt til at løse.
-> bitmatic Mange tak, det var lige præcis det jeg refererede til.
-> olebole Self. skal man helst skrive valid kode, men at bede ham om at skrive hele koden om ville jo være håbløst. Noget helt andet er at IE alligevel langt fra overholder standarden. Anyways, så lige dine <ole></bole> XML tags, jeg må hellere trække mig fra denne diskussion, du er tydeligvis mere nørd end mig.
bitmatic >> Jamen, jeg ved da godt, IE har en bug, der gør, at IE kan centrere block-elementer med text-align. Det ved vel alle - men det er heldigvis kun _meget_ få, der kan finde på at bruge invalide fremgangsmåder, som direkte øger forskellene mellem de enkelte browseres visning.
"Den div du angiver i din tekst bliver ikke renderet centreret i IE." >> Vås ... test!
"men det er et problem man som programmør er nødt til at løse." >> Nu skal man nok være programmør for at udtale sig om, hvad programmører bør og ikke bør ... og det er tydeligvis ikke lige dig. Derudover er det noget sludder. Jeg _har_ jo allerede vist, hvordan standarden foreskriver det skal gøres - og hvordan enhver professionel webprogrammør løser opgaven ... og så fungerer det helt efter hensigten i alle gængse browsere.
"Det "hack" man så typisk bruger" >> Vrøvl! Det er der ikke én professionel webprogrammør, der bruger. Det ville være fuldstændig tåbeligt, når nu der er andre velunderstøttede metoder, som ikke skaber andre problemer.
fucke >> "Self. skal man helst skrive valid kode, men at bede ham om at skrive hele koden om ville jo være håbløst." >> Jamen, det er jo ikke engang et HTML-dokument. Det ville da være komplet tåbeligt ikke at skrive det hele om, når nu han aldrig kan vide, hvordan en browser vil vise siden. Dokumentet kan simpelthen ikke skrives dårligere/mere forkert/mere invalidt. Siden burde som sagt slet ikke kunne vises. Naturligvis skal den da skrives om helt fra bunden!
"Noget helt andet er at IE alligevel langt fra overholder standarden" >> Helt korrekt ... fuldstændig ligesom FF! De er lige elendige, de har bare ders elendigheder forskellige steder. I flæng kan vi jo nævne de efterhånden henved 180 proprietære CSS-properties, som _kun_ eksisterer i Mozilla's browsere.
-> olebole <snip>"Den div du angiver i din tekst bliver ikke renderet centreret i IE." >> Vås ... test!</snip>
Jeg har faktisk testet det. De 2 html filer jeg giver som eksempel i mit indlæg viser med al tydelighed at den div du angiver ikke renderes ordentligt i IE.
-> erikjacobsen Ok. I følge http://www.w3.org/QA/2002/04/valid-dtd-list.html er min doctype faktisk ikke valid. Så undrer det mig egentligt at validatoren på w3.org validerer mine sider som korrekte.
Tommelfingerreglen i dag er: ingen doctype uden url. Du fik vist browseren i quirksmode. Hvad validatoren har gang i, ved jeg ikke, men den "tænker" måske: "Nå, han vil bruge quirksmode - så validerer vi da bare det".
bitmatic >> Standarder er med al respekt noget, man skal øve sig i at læse - og det er ikke altid helt let. Læg i den forbindelse mærke til advarslen i øverste, højre hjørne ;o)
En DTD behøver ikke indeholde definitions linket for at være valid - hvorfor din DTD da også validerer fint. Til gengæld sætter en HTML 4.01 Transitional uden link IE i quirksmode - hvilket bl.a. betyder, at hele CSS' box model sættes ud af kraft: http://msdn.microsoft.com/en-us/library/bb250395(VS.85).aspx#cssenhancements_topic2
Læg dog mærke til, at en Strict DTD uden link _ikke_ sætter IE i quirksmode!
- og jeg skal da ikke forbigå en oplagt anledning for at trække en af mine mange kære, gamle kæphest af stalden og lufte den lidt. Prøv disse to dokumenter i IE og FF:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css"> div { width: 200px; height: 200px; background: yellow; } .withBorders { border: 75px solid red; } </style> </head> <body>
Nej, men du har flere <html> og <body> tags, det må du ikke. Dine head og link tags er også placeret forkert, samt style og meta tags. Der du over bruger du gamle tags, <strong> og <fint>, saom ikke bruges mere.
Det ligner heller ikke du helt har styr på dine åbne og lukke tags, der er flere steder hvor du lukker tags som ikke er åbne. Du bør heller ikke bruge en DTD for xhtml, da din html kode slet ikke passer til den DTD. Brug i stedet de html transitional eller strict.
dkfire >> Enig, bortset fra, at 'b' og 'i' er på vej ud til fordel for 'strong' og 'em'. Det var meningen, det skulle ske i forbindelse med XHTML 2.0, men det er foreløbig blevet udskudt til næste version =)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.