Een groeiende groep mensen hier heeft de "front geen tables voor opmaak" in hun sig staan om het gebruik van mooie (x)html en css(2) te stimuleren. In een idillische wereld zou dat makkelijk en mooi en goed zijn, maar in de praktijk loop je steeds weer tegen eigenaardigheden aan waarbij je je sterk afvraagt waar men aan dacht toen de spec verzonnen werd.
Je gaat aan de gang met css, en als je denkt dat je wat werkends hebt blijkt het er op andere browsers, die dezelfde specs zouden moeten volgen, toch anders uit te zien. Toegegeven is het niet vergelijkbaar met de ellende ten tijde van Netscape 4, maar toch is er nog flink wat om over te klagen.
Een lijstje:
In de praktijk zijn de simpelste dingen maar met moeite te doen; je hebt er een (te) grondige kennis van css voor nodig en je moet je kunnen voorstellen wat jouw css doet in je html om op meer dan 1 browser dat te bereiken wat jij voor ogen had. Dat kan toch niet kloppen?
Specs zijn goed, maar zijn het goede specs?
Je gaat aan de gang met css, en als je denkt dat je wat werkends hebt blijkt het er op andere browsers, die dezelfde specs zouden moeten volgen, toch anders uit te zien. Toegegeven is het niet vergelijkbaar met de ellende ten tijde van Netscape 4, maar toch is er nog flink wat om over te klagen.
Een lijstje:
- Hoogte; Het is belachelijk ingewikkeld om een algemeen werkende style te bakken die goed gebruik maakt van de hoogte. Height:100%; is buiten IE in de praktijk slechts de hoogte van je scherm, en op Opera, Safari, MacIE5 en zelfs Mozilla (sinds Moz1.4RC3, 24/06/03) zal content die in een element zit met height:100%; die doorloopt tot buiten het scherm, de container NIET uitrekken. Backgrounds houden dus doodleuk onderaan de schermhoogte op, terwijl de content nog doorloopt.
Je bent dan toegewezen tot min-height, maar dan werkt het overal op behalve IE. Daarvoor zal je dan b.v. weer een stukje moeten scripten (!! neEe !!)
De officiele Box-model specs volgend is het eigenlijk onmogelijk een element te tonen dat 100% hoogte pakt, min 100px aan boven- en onderkant. Tenzij je een andere boxmodel opgeeft, maar daar doet IE dus niet aan, terwijl het met een geldige xhtml doctype wel de boxmodel aanpast naar de officiele. - Boxmodel: Hoe logisch is dat? width is je content width. Padding, border en margin vallen daarbuiten, en worden dus bij de width opgeteld. Om daarop in te haken en toch padding in top-level layout elementen te gebruiken over verschillende boxmodel interpretaties heen is de voice-family "hack" bedacht, en dat zegt in het css wazigheden straatje imo op zichzelf al genoeg.
- Floats; floats zijn k*t. Niet direct om wat ze doen, maar om de ellende die ze veroorzaken. 9 van de 10 gevallen is een post in /13 over een css probleem te wijten aan het gebruik van een float. Een element wat gefloat is "hoort" volgens de specs namelijk niet het parent element uit te rekken ('t zit in de naam). een element met "clear" is dan soms nodig om je layout niet in de soep te laten lopen. Wie heeft dit ooit bedacht? en wat is er mis met de parent WEL uitrekken? Dat zal je in 99% van de gevallen namelijk juist wel willen.
- Kolommen; Probeer eens een aantal dingen naast elkaar te zetten, en je komt al gauw weer floats of rare position & margin combinaties tegen. Geen tables voor layout roepen we, maar in de praktijk is dat dus wel mooi het makkelijkst. Als het niet in de globale layout is is het wel in de meer specifiekere layout elementen. Er zijn gewoon dingen mee mogelijk die met css bijna niet te doen zijn.
Zeker toen de table geintroduceerd werd (html3.2) was er echt geen fatsoenlijk alternatief.
En dat is een beetje de essentie. Het W3C propageert een standaard, en deze standaard zou (naast "standaard", wat op zich redelijk aan het lukken is nu) ook eenvoudig moeten zijn in het gebruik.bosmonster@icq
de 'gewone' html-er snapt van die onzin toch niks.. dus gaat dan maar alleen voor IE bouwen onder het motto 'die gekke browsers doen het allemaal fout'
en das nu net wat het w3c zou moeten voorkomen...
In de praktijk zijn de simpelste dingen maar met moeite te doen; je hebt er een (te) grondige kennis van css voor nodig en je moet je kunnen voorstellen wat jouw css doet in je html om op meer dan 1 browser dat te bereiken wat jij voor ogen had. Dat kan toch niet kloppen?
Globaal is het goed te doen om zonder tables x-browser html/css goed te laten werken, maar ideaal is het nog lang niet. Puristisch css'en is bijna een vorm van zelf-kwelling ...front geen tables voor opmaak
Specs zijn goed, maar zijn het goede specs?
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin