Ga naar inhoud

html <=> xhtml => de voordelen en de nadelen


anoniem

Aanbevolen berichten

  • Reacties 157
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

  • anoniem

    158

in f=13 had ik een post en kreeg ik het volgende antwoord van Eelco Ossewijer: [quote:61e8672f53="Eelco Osseweijer"]OK, als je bepaalde doctypes([url]http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/doctype.asp[/url]) in IE6 gebruikt, schakelt IE over naar een standaard compliant mode. Dat is geweldig zou je denken. Nee dat is niet. Het vervelende is namelijk dat bepaalde properties van document.body worden overgedragen aan document.documentElement. Dit houdt in dat bijv document.body.clientHeight (met een strict doctype) de hoogte van het BODY element weer geeft en document.documentElement.clientHeight de hoogte van het window minus de scrollbar. Dus als je kLayers gebruikt moet je je heel goed orienteren wat voor effect een bepaald doctype heeft. Ik persoonlijk vind het allemaal vrij verwarrend en het kost mij over het algemeen nogal wat tijd om cross-browser & standards compliant scripts te schrijven. Wat ik jouw aanraad, termin8or , is i.p.v. een library te gebruiken die de complexiteit van crossbrowser implementaties verbergt, eerst zelf je goed verdiepen in javascript en cross-browser & standards compliant scripts. Meer info vind je o.a. hier [url]http://www.xs4all.nl/~ppk/js/doctypes.html[/url] /E[/quote:61e8672f53]kan ik hieruit opmaken dat als je stricte doctypes gebruikt (xhtml) je problemen krijgt met javascript. Het was toch juist de bedoeling om met de dom alles hetzelfde te laten werken op nieuwe browsers en ie en ns zouden dit toch beide ondersteunen. maar hieruit blijkt dat m$ weer zelf iets verzonnen heeft. grtzz...
Link naar reactie
Nee, dat kun je hieruit niet concluderen. :wink: Het probleem wat hier wordt voorgelegd is dat alleen IE6 (in standaard compliant mode) het box-model in CSS zoals door het W3C gedefineerd, goed uitvoert (net zoals NS6+ en Opera5+). In oudere versies van IE (of IE6 in quirks-mode) wordt het box-model verkeerd toegepast. (IE5.mac doet het wel goed :)) Ik zal je een voorbeeld geven van een verkeerde toepassing van het box-model:[code:1:528d9f7b00]div.boxtest { border:20px solid; padding:30px; width:300px; } [/code:1:528d9f7b00]De totale breedte van deze div zou 400 moeten zijn, maar volgens IE6 in quirks-mode is dit 300, omdat deze de border en padding als onderdeel ziet van de width. Alle nieuwe browsers ondersteunen XHTML, j(ava)script(ECMAScript) en DOM zeer goed, dus websites die comform de standaard(W3C) gemaakt zijn, zijn correct te bekijken in alle nieuwe browsers. Echter als je rekening dient te houden met oudere versies van browsers, dan zul je dus hacks moeten bedenken. Gelukkig hoef ik dit zelden omdat ik meestal intranetsites ontwikkel, waarvan de doelgroep bekend is (en die werken meestal met IE6).
Link naar reactie
Als er een doctype aanwezig is [b:7b1639b70b]en[/b:7b1639b70b] deze is goed gedefineerd, dan zal de browser in standaard-mode gaan. Zo niet dan zal de browser in quirks-mode gaan. (Geldt voor Opera7, NS7 en IE6). Als je dus een html-pagina hebt met een verkeerde (of geen) doctype dan zal de div 300px breed zijn. Corrigeer je de doctype in de html-pagina (en herlaad je hem) dan zal de breedte van de div 400px zijn. In jouw geval (ik neem aan dat je dit bedoelt) is de padding onderdeel van de width, ook in NS7. Dus de browser is in quirks-mode. Je mist dus de doctype of deze is verkeerd.
Link naar reactie
Je kan inderdaad grote problemen krijgen en een oplossing is om de doctype weg te laten. Alle nieuwe browsers zullen dan in quirk-mode gaan. Je laat je CSS dan correct werken in een browser die de standaard minder goed volgt, maar wel vaak gebruikt wordt (IE5/win). Maar je kan ook kijken of je IE5/win als uitzondering kan behandelen, door:[code:1:7e68c5b9fe] body>#content { width: 52%; padding: 35px 5% 100px 10%; }[/code:1:7e68c5b9fe] De > mag alleen in CSS2 gebruikt worden en zal overgelagen worden door IE5/win. Misschien kun je het hiermee oplossen.
Link naar reactie
Voor het probleem omtrend de breedte van bijvoorbeeld een div met padding en border is een vrij simpele oplossing, de zogenaamde [url=http://tantek.com/CSS/Examples/boxmodelhack.html]Box Model Hack[/url]. Ennuh... Jurriaan R? Die zat vroeger ook vaak in dit forum, hij heeft me meermalen geweldig geholpen maar ik heb nu al enige tijd geen posts meer van hem gezien. Jammer, hij was een goede aanwinst. - Bas
Link naar reactie
moet je dit dus in je stylesheet plaatsen(?): [code:1:94fb832cfb] div.content { border:20px solid; padding:30px; background: #ffc; } div.content { width:400px; voice-family: "\"}\""; voice-family:inherit; width:300px; } html>body .content { width:300px; } [/code:1:94fb832cfb] ik vind het ook heel erg jammer van jurriaan, maar hij is geband, omdat hij het niet eens was met een aanstelling van een nieuwe mod en daar over begon te schelden.
Link naar reactie
Goeie link, Bas :D. Termin8or volgens mij zou het zo goed moeten werken. En wat betreft Jurrian, hier is de post waar hij gebanned is:[url]http://forum.computertotaal.nl/phpBB2/viewtopic.php?t=76995&highlight=[/url] en nog een reactie van Phrea omdat het topic op slot werd gedaan:[url]http://forum.computertotaal.nl/phpBB2/viewtopic.php?t=77513&highlight=[/url]. Ik ben het volkomen met Jurrian eens. Hij drukte zijn gevoel iets te letterlijk uit, maar ik begrijp het wel dat hij er zeer boos om is geworden. Iemand die zo veel bijdraagt (vooral op flash gebied) aan het forum... Ik had Phrea hier nog een PM over gestuurd, maar een terechte opmerking van hem was dat het community-gevoel hier vrij laag is, dat men hier iets tegen wil doen. O.a door deze ban wou ik bijna dit forum de rug keren. Maar ik hou erover op, want dit is erg off-topic en de kans groot is dat er anders een slotje opkomt.
Link naar reactie
Toen ik alles hierboven las dacht ik dat het beschreven probleem zich alleen voordeed bij pagina's die in xhtml gemaakt zijn. Daarom heb ik die hackmodelpagina opgeslagen en er een doctype voor HTML 4.01 strict in geplaatst. Het blijkt dus niet uit te maken want ook dan treedt hetzelfde probleem op. De pagina heb ik op internet geplaatst:[url=http://home.hetnet.nl/~stefsmeenk/boxmodelhack.htm]De link[/url] Ook als ik het volgende doctype plaats: [code:1:7764076a41]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">[/code:1:7764076a41]In een andere post werd gemeld dat bij het ontbreken van de dtd-link de browser automatisch in quirks-mode zou gaan, maar dit is volgens mij niet het geval. Is het zo dat je in xhtml de breedte niet meer in html aan kunt geven en dus dit via css moet regelen en bij HTML 4.01 nog de keuze hebt om dit via html te doen waardoor dit verschijnsel vermeden kan worden?? vr.gr.smeenk :wink:
Link naar reactie
[quote:d581e11fa7="smeenk"]In een andere post werd gemeld dat bij het ontbreken van de dtd-link de browser automatisch in quirks-mode zou gaan, maar dit is volgens mij niet het geval.[/quote:d581e11fa7]Dit is zeker wel het geval, alleen heeft het niet altijd invloed op het uiterlijk van je code. Als je toevallig Netscape 6+ op je computer hebt staan moet je maar eens verschillende pagina's maken met verschillende doctypes, en dan van elke pagina de "View Page Info" kiezen, en daar staat precies vermeld of de browser voor die pagina in quircks mode is of niet.[quote:d581e11fa7="smeenk"]Is het zo dat je in xhtml de breedte niet meer in html aan kunt geven en dus dit via css moet regelen en bij HTML 4.01 nog de keuze hebt om dit via html te doen waardoor dit verschijnsel vermeden kan worden??[/quote:d581e11fa7]Het is inderdaad zo dat het merendeel van de eigenschappen in XHTML door CSS geregeld moeten worden, en het klopt ook dat je het in HTML 4.x nog in de code zelf kan doen. Het verschil zit 'm in de ondersteuning. Wordt HTML 4.x door browsers nog verschillend behandeld, de ondersteuning voor XHTML is al vele malen beter. Het risico is alleen dat oudere generaties browsers de code niet juist weergeven, maar dat is een keuze die je moet maken. - Bas
Link naar reactie
[quote:729212c174="termin8or"]het lijkt mij doordat de oudere generatie geen css ondersteunt[/quote:729212c174]Welke browsers ondersteunen dan nog geen CSS?? Ik heb zelf ook nog een oude pc waarop IE 5.0 staat en deze ondersteunt het wel!! (al ziet het er dus niet altijd hetzelfde uit als op deze waarop IE 6.0 draait) gr.smeenk :wink:
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...