IE7 komt eraan!

Het zal nu niet zo lang meer duren voor de nieuwe versie van Internet Explorer, IE7, definitief het licht ziet. De laatste beta preview release, die vorige week uitkwam, zou definitief moeten zijn wat betreft zijn rendering engine. Dit houdt in dat alle nieuwe CSS-support en bugfixes waar Microsoft aandacht aan wilde geven, nu in IE7 zitten.

In de zomer van 2005 begon het circus rondom IE7 met de eerste beta release. De reacties waren toen nog overwegend negatief gestemd, men was vooral teleurgesteld over de weinig verbeterde CSS-support. Als antwoord op die reacties publiceerde Chris Wilson, een van de drijvende krachten achter IE7, eind juli 2005 een lijst van gewenste aanpassingen ten opzichte van IE6. Die lijst klonk hoopvol, maar leek ver weg.

Tussentijds ontstond er nog enig rumoer over een call to action. Omdat IE7 betere CSS-ondersteuning zou gaan bieden, zouden sommige hacks (zoals de bekende *html-hack) in die browser wel eens een ongewenst resultaat kunnen gaan opleveren.

Inmiddels zijn we driekwart jaar verder en de lijst met bugs is flink opgeschoond. Volgens Dave Shea zijn alle gruwelijke IE-bugs die we kennen via Position is Everything, waaronder de miraculeuze peekaboo bug en de guillotine bug, opgelost! (Op één na: de escaping floats bug waarvan een fix te diep in de rendering machine zou ingrijpen).

Naast de talloze bugfixes is er ook verbeterde CSS-support, zoals:

  • transparante PNG’s
  • :hover op elk element en niet meer alleen op een anchor
  • fixed positioning

Verder kent IE7 tabbed-browsing, een ingebouwde RSS-reader, window tiling en ondersteunt het pixel-unit scaling (waarbij je op een hele pagina tegelijk inzoomt, en niet alleen de fontgrootte vergroot), kortom zaken die Firefox of Opera allang kenden en die IE6 steeds meer brandmerkten als een “fossiel”.

Helaas zijn er ook zaken die IE7 nog laat liggen, waaronder:

  • ondersteuning van sommige pseudo-selectors zoals :after (waardoor bijvoorbeeld easy clearing niet werkt, maar het schijnt dat hier al een oplossing voor is).
  • attribute selectors
  • display:table.

Kortom, IE7 is een geweldige sprong voorwaarts ten opzichte van van IE6. Maar een nieuwe browser betekent helaas niet dat wij als webdevelopers de oude versies meteen af kunnen schrijven. Ondersteuning voor IE5 en zeker voor IE6 zal nog geruime tijd nodig zijn, al is het maar, omdat IE7 voorlopig alleen draait op Windows XP (SP2). Ik verwacht dat het na de final release van IE7 nog zeker een jaar duurt voordat IE7 de browser met het grootste marktaandeel is. Waarschijnlijk krijgt het pas een echte duw in de rug met het verschijnen van Windows Vista begin 2007.

Verder heeft Microsoft aangegeven dat het nu doorgaat met het ontwikkelen van hun browser en dat het gat tussen IE8 en IE7 niet zo groot zal zijn als tussen IE7 en IE6.

Met de huidige beta versie kunnen we in elk geval wel onze bestaande sites gaan testen. (De officiële versie van IE7 laat volgens Eric Meyer nog wel zo’n maand of drie op zich wachten.) Ik neem aan dat er voor sites die in quirksmode draaien weinig veranderd is (wat niet wegneemt dat het onderhoud van deze sites en hun voorkomen in moderne browsers wel eens beroerd kan zijn). IE7 toont aan dat ook Microsoft zich wenst te conformeren aan webstandaarden. Het bouwen van cross-browser-websites wordt in de toekomst alleen maar mooier en makkelijker! Of zoals Eric Meyer de moderne browseroorlog verwoordt:

What makes it particularly interesting is that the competition is not going to be over who can add the coolest non-standard geegaws, but who can deliver the best product based on the same standards as everyone else.

Handige links:

7 Reacties op “IE7 komt eraan!”

  1. Robert zegt:

    Ik misbruik de display:table property anders regelmatig om een div mee te laten groeien met de content in IE6?

  2. Tom zegt:

    Hm, wat is dat voor techniek, een div groeit immers automatisch mee met de content? Ikzelf gebruik de display:table property nooit, maar volgens Eric Meyer gaat het in feite om de CSS table properties, dus eigenlijk om display: table-*.

  3. Krijn Hoetmer zegt:

    In plaats van height: 1%; vanaf nu dus gewoon zoom: 1; of display: inline-block; gebruiken om hasLayout te triggeren (voorzover dat nog nodig is). Woki.

    En attribute selectors zijn, afaik, wel opgenomen in IE7.

    Dave Shea heeft het ook al over table-* voor grid based layouts. Daar kunnen we het table element in HTML toch gewoon voor gebruiken? :+

  4. Tom zegt:

    Krijn, je hebt inderdaad gelijk wat betreft attribute selectors. Slechts in uitzonderingsgevallen werken zij niet in IE7.

    Ik ben het met je eens dat er een TABLE-element bestaat en dat je geen table-* in een DIV wilt toepassen. Maar soms wil je misschien met JavaScript een onzichtbare tabelrij aanzetten met zoiets als display: table-row?

  5. Krijn Hoetmer zegt:

    Maar soms wil je misschien met JavaScript een onzichtbare tabelrij aanzetten met zoiets als display: table-row?

    Op dit moment kun je zo’n rij in IE6 gewoon aanzetten met display: block;. Voor Fx/Opera(/Safari?) kun (moet) je table-row gebruiken. Dit werkt ook voor tbody elementen; display: table-row-group; voor goede browsers en display: block; voor IE.

    Het lijkt me dat display: block; in IE7 nog hetzelfde werkt voor tabellen.

    In IE is table-* volgens mij echt alleen maar handig voor grid based layouts; VKB was zoveel makkelijker geweest ;)

  6. Krijn Hoetmer zegt:

    Zo dus, maar dan met conditional comments of een andere smerige hack.

  7. Tom zegt:

    Ik snap het, maar het zo mooier geweest zijn als je voor alle browsers klaar was met louter display: table-row… ;)

Laat een reactie achter

Je moet ingelogd zijn om een reactie te plaatsen.