Существует также почти неизвестный синтаксис JavaScript:
var a;
a=alert(5),7;
alert(a); // alerts undefined
a=7,alert(5);
alert(a); // alerts 7
a=(3,6);
alert(a); // alerts 6
[еще 113] об этом здесь .
Ваш код выглядит идеально. У меня он отлично работает с Firefox 3.5.5, а также с IE 8.0. Готов поспорить, вы тестируете его в браузере, не совместимом с CSS2 / 3. Измените свой браузер, и он будет отлично работать.
Эта ссылка перечисляет поддержку функций CSS3: http://www.webdevout.net/browser-support-css
(Состояние отсутствия поддержки в браузеры разочаровывают, не правда ли?)