verschil tussen FF en IE

Status
Niet open voor verdere reacties.

gebruiker35

Gebruiker
Lid geworden
29 mrt 2008
Berichten
434
Ik het de volgende site gemaakt:

http://home.kliksafe.nl/knulst/klassesite/index.php

let even niet op het engels enzo, ik weet het, engels is niet mijn sterkste kant.

nu word in F(ire)F(ox) alles kleurig en keurig weergegeven.
In I(nternet)E(xplorer) word de normale pagina en het menu (de pagina in frame dat niet bestaat) niet goed weergegeven ten opzichte van de titel.

Wie helpt?

Is opgemaakt in extern stijlblad.

http://home.kliksafe.nl/knulst/klassesite/stylesheet.css


(ps. zeg het even als ik in een andere categorie moet plaatsen, maar ik dacht, vrij algemeen, gaat om verschillen in browser)
 
ik heb dit probleem ook wel vaker.

IE en FF hebben nooit goed samengewerkt.

als er iets fout is in je site en je kan het zelf niet vinden kun je hem door een tidy halen
deze zet je tekst goed in elkaar. haalt eventuele fouten eruit en zegt wat er fout was.

ondanks dat dit niet de leukste manier is. kan het wel van pas komen als je snel probleempjes wil oplossen. zover heeft een tidy voor mij altijd geholpen met problemen tussen IE en FF. zorg er wel voor dat je altijd een backup hebt van je website.

tidy websites die ik zelf vaak gebruik.

http://infohound.net/tidy/
http://www.cleancss.com/

hiernaast kun je altijd proberen als er iets verspringt in verschillende browsers om

position: absolute; te gebruiken. hierbij kun je vaste positie instellen. voorbeeld


css/stylesheet

position: absolute; top: 20px; left: 50px; right: 50px; bottom: 100px;

hiermee zou in geen browser verschil uit mogen maken gezien je ze vaste posities geeft.

veel succes hoop dat je verder kunt :thumb:
 
dat position werkt niet, aangezien het midden van pagina, van het scherm afhangt.
Hier nog even een beschrijving hoe de browsers het aanpakken:

FireFox:

Als je een rand aan een DIV atribuut koppelt, telt hij de pixels van de rand bij het attribuut op. Dit betekend dus, 2 atributen, 3 lijnen van 1 px, ene atribuut 150 px andere 550, de attributen 700px zijn, + 3px lijn. = 703px.

Internet Explorer:

Als je instelt dat je border 1 px is voor het hele atribuut, haalt hij aan alle kanten er 1 px af. Dat word dus je lijn. Echter, nu haal je een lijn weg. Direct is het attribuut 1 px kleiner.


Ik heb dus met een verschil te maken van 4 pixels.
WAAROM?

WAAROM GEEN STANDAARD!????


wie kan helpen...?
voor IE andere waarden ofzo?
 
Ik heb wel wat antwoorden, denk ik. Omdat je naar 't waarom vraagt komt daar ook 'n klein stukje geschiedenis bij uit de afdeling 'Opa zeurt weer over de Goede Oude Tijd'.

Ooit had je de zogenaamde browseroorlog tussen voornamelijk Netscape Navigator en Internet Explorer. Die probeerden allebei 'n zo groot mogelijk deel van de markt in handen te krijgen door allebei zoveel mogelijk eigen snufjes te bedenken, die alleen in hun browser werkten.
En daar kwamen nog tig ander browsers bij, zoals Opera. Hartstikke fijn, want dat betekende dat je letterlijk voor elke browser (en vaak ook nog voor elke versie van die browser) letterlijk 'n eigen site moest bouwen. Met JavaScript werd gekeken welke browser en welke versie 'n bezoeker had, en dan werd je naar de juiste site gestuurd.
Als jij vraagt 'andere waarden voor Internet Explorer?: Nee dus!!! Daar word je hartstikke gek van en 't werkt ook niet goed. Soms moet 't wel, maar meestal niet, en voor Internet Explorer 7 is 't helemaal nauwelijks nog nodig. Als 't echt nodig is kan dat met behulp van 'conditional comments'.

Goed, de browseroorlog. Netscape verloor en Microsoft probeerde Internet in handen te krijgen. Onder andere door 'n volkomen van de standaard afwijkende browser te bouwen: Internet Explorer 6. (Andere browsers als Opera, Netscape, Mozilla, Safari, Konqueror gingen zich toen al aan de standaard van W3C houden.) 'n Site werkte dus alleen in Internet Explorer 6, of in alle andere browsers (min of meer).
Door het gratis verspreiden van FrontPage die code maakt die alleen door Internet Explorer goed kan worden weergegeven werd dit nog versterkt.

Gelukkig is dat niet gelukt, anders had je nu waarschijnlijk aan Microsoft mogen betalen voor elk bezoek aan 'n site en voor elke mail. Microsoft heeft Internet niet in handen gekregen en Internet Explorer 7 houdt zich al veel meer aan de standaard, en hopelijk Internet Explorer 8 eindelijk 'ns net zo goed als Opera, Safari, Firefox, enz. (Elke browser heeft bugs, maar dat is iets anders.)

Maar inmiddels waren er dus miljoenen sites die niet aan de standaard voldeden en alleen door Internet Explorer goed werden weergegeven. Met 't toenemende gebruik van fatsoenlijke andere browsers 'n groeiend probleem.
Een of andere superslimmerik heeft toen bedacht om aan 't begin van elke pagina 'n code te zetten. Als die code er staat, dan wordt alles op dezelfde manier weergegeven in alle browsers. Als die code er niet staat, dan geeft Internet Explorer 6 (en ook 7) het in 'quirks mode' weer. En dat betekent dat je lay-out compleet vernacheld wordt. Dat gaf de mogelijkheid gewoon oude, bestaande sites te blijven gebruiken en gelijktijdig fatsoenlijke nieuwe sites te bouwen.
(Bij Internet Explorer 8 doet zich trouwens weer enigszins hetzelfde probleem voor, maar in veel mindere mate.)

En die code aan het begin mist dus bij jou.

In quirks mode, dus van de standaard afwijkend, gebeurt onder andere het volgende:
bij 'n box (zoals 'n div of paragraaf) worden marge, padding en border bij de breedte en hoogtevan de box opgeteld. Dat is de standaard. In quirks mode worden marge, padding en border binnen de box gezet. Dus 'n volledig andere lay-out. Er zijn nog veel meer afwijkingen, maar dat is de belangrijkste. En daarnaast stikt het nog van de 'gewone' bugs in Internet Explorer 6 (7 is al veel beter).

Je moet in ieder geval aan het begin van elke pagina die code zetten: het 'doctype'.
Geldige doctypes vind je op de volgende pagina onder DTD List
http://www.w3.org/QA/2002/04/valid-dtd-list.html
Omdat jij geen opmaak in je html gebruikt (netjes!), zou ik voor 'n Strict type gaan. Dat is veel makkelijker onderhouden en zo. Htm of xhtml maakt niet zoveel uit. Ooit leek het erop alsof html zou uitsterven, maar dat is niet meer zo. Frameset is prehistorisch en wordt in html 5 zelfs helemaal verboden. Heeft heel veel nadelen.
Als je 'n doctype kopieert, kopieer dan ook de url daaronder. Zonder url werkt het meestal niet en soms gedeeltelijk.

Die truc met tidy is prima, maar 't kan nog simpeler. Op de site van w3c kun je je html valideren (dan had je ook gelijk die melding gekregen over 't missende doctype). En er zitten nog meer fouten in je code, hartstikke handig zo'n validator. Html valideren:
http://validator.w3.org/

Je css kun je daar ook valideren: http://jigsaw.w3.org/css-validator/

Firefox heeft trouwens 'n extensie waarmee je tidy in kunt bouwen: HTML Validator
https://addons.mozilla.org/en-US/firefox/addon/249

Eventueel kun je ook nog naar m'n site gaan via m'n profiel. Daar staat inmiddels 'n hele reeks handleidingen waarin ook dit soort dingen worden uitgelegd aan de hand van voorbeelden. Ook over conditional comments en zo.
 
Laatst bewerkt:
Merci voor de duidelijke uitleg. Het is inderdaad gelukt. Ook bedankt voor die broncheckers, wist niet eens dat dat bestond dus...

ik ken html nog geen jaar, en php nog maar een dikke 2 maanden dusja...
dan kan ik jullie hulp bij problemen goed gebruiken!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan