Big thanks to Sig for helping me out with my Firefox CSS issue. He was dead right – it was a MIME issue that was easily fixed by setting the MIME type to text/css in the header of the dynamic CSS.
More details here: Generating Dynamic CSS with PHP
I’ve left the demonstration in place here: Dynamic CSS MIME demonstration but adjusted the text to make it clear I was at fault, not the browser.
Why do the other browsers behave differently? Well the CSS was returned to the page within an element of the page’s header that declared the contents to be text/css so it was fairly easy for a “smart” browser to guess my intention. And also quite easy for me to make the fatal assumption that that was enough.
We live and learn. And Firefox is a strict mistress.