Hi Peter,
great post - really. It's a good opportunity to compare approaches.
Regarding the centering, my initial instinct was that your approach wouldn't work correctly in all the browsers - there are differences between IE7 and the rest - but it lead me to investigate, and indeed the case of center-justifying is slightly different to the case of top-center and bottom-center.
(top-center, and bottom-center are more complicated).
The 'nt-fix-center' class in my example does what yours does, ie
position:relative;
margin-left: auto;
margin-right: auto;
I also included
left:0;
right:0;
thinking this was necessary in some cases, but it's not (as long as position: relative).
I'll tweak the build, but we're both on the same page here.
Now - regarding the width. You changed it from 300px to 25%.
The danger with this change is that you are relying on the browser window being some known width, whereas mine is being explicit as to the size required.
So as a browser window gets smaller, in my approach, the "margins" are the bits getting smaller, until the window is < 300 pixels wide. In your approach both the margins _and_ the form get smaller - so there is still space being taken up by the margins, even when there's not enough space for the form properly.
Given the size of desktop monitors these days that may not seem like a big deal, but remember there are lots of non-pc devices out there, some (like tablets or phones) with much smaller displays.
Lastly;
>> and I'm using 5.09!
What are you? some kind of dinosaur?
That's, like, soooo last week !
Cheers
Bruce