It's not like they read the "standard", then deliberately misinterpreted it, as is the popular belief. Rather, they just picked a sane model and implemented it. If anything, it would have to have been the W3C who deliberately wrote their spec to leave IE out in the cold.
Naturally, I don't think either one was the case. It seems that the IE team made the correct choice (as it's very difficult to argue that the IE box model is not in fact a better way of thinking about boxes), and the standards team (who weren't actually in the business of building browsers) made a less good choice.
If only the Netscape team weren't so (possibly for good reason) angry with Microsoft, they might not have switched they way they sized boxes when they built Navigator 6, and we would have had a much less painful time writing web apps these last 10 years.
Shame. At this point, it's probably too late, as we're all thoroughly trained to deal with the idiosyncracies of the W3C box model to bother using the CSS hack mentioned in the article to get us back to a sane box model where a box with a width:100px actually renders as a 100 pixel wide box.
Is there anybody out there who believes that?
> At this point, it's probably too late, as we're all thoroughly trained to deal with the idiosyncracies of the W3C box model to bother using the CSS hack mentioned in the article to get us back to a sane box model where a box with a width:100px actually renders as a 100 pixel wide box.
There's no hack, it's an official CSS property which switches to the "IE" box model. And considering how useful it is (I've said it in the past, I'll say it again, I've never encountered anybody who thought the W3C box model was objectively superior to the MSIE one, it's just that one was the specified, cross-browser, standard model) I have no doubt whatsoever it will be used. A lot.
That web developers have had to put up with it for the last ~5 years does not matter, it's still cognitive load and it still has to be learned by new developers. `box-sizing` lowers developer cognitive load, it'll get used whenever it can be used.
It's never too late to do the right thing. As an extreme example, everyone who's used to it now, will eventually die, and I'd venture to say the web will outlive them all. (although probably not in its current form, but that's kind of the point) CSS3's solution is a good one because it allows people that are used to it to keep using their old dodgy hacks, and it also allows people who prefer logical consistency to opt in to that. It's definitely not too late.
True, but there's a continuity of already-written code and learning, both from those alive now and from that already-written code, that keeps things that aren't sufficiently bothersome from getting changed.
And this "extreme example" somehow proves your point that it's "never too late"? If it includes people having put it with this dying, then I think, it IS too late.
I'm pretty sure that while IE3 and even IE4 had some CSS support they didn't implement the box model yet, padding-inside or padding-outside.
(But I wasn't sure enough to put it in the post.)
It's also likely that Microsoft knew what was in the spec before it was finalized and officially published.