IE9, CSS, and our websites

The wonderful world of web browsers is always tricky to navigate as a web developer.  Subtle differences in how each major browsing engine works can surprise web masters at inconvenient times.  One of these small differences is affecting our websites and while it looks fairly simple to solve on the outside, it’s actually causing a bit of a head ache with us.

Each browser engine enforces various parts of the HTML and CSS specifications in different ways.  Some are more strict and others are less strict.  IE9, by default, runs strictly when interpreting CSS files.  CSS files are what provide the layout to our websites, along with colors, fonts, and other bits of the display.  Without them, the site looks like a bunch of text on a plain white page.

Right now, IE9 doesn’t like our CSS files.  This is because we deliver them dynamically through a PHP script which does some work like taking several smaller more organized CSS files, compiling them into a larger document, then delivering that to the browser.  The document type this PHP script looks like to IE9 isn’t a valid CSS file, so it ignores them.

As you may imagine, we find this rather embarrassing, and so are working to remedy the way we’ve implemented the dynamic CSS on our site so it renders correctly in IE9.  In the mean time, there is a very straight-forward way to enable compatibility mode in IE9, which will show our sites correctly.

When you see this broken page icon in the IE9 browser bar, click it, and it will enable compatibility mode.

This will work for any sites that are having similar issues to ours.

The other option is to use a browser such as Chrome or Firefox.  The latest versions of these browsers do not have this issue.  Just to be clear, it’s not that IE9 is doing anything wrong – it actually is enforcing good compliance rules.  It just makes sites which have a mix of legacy and new methods quirky, which makes us managing those sites scramble from time to time to make sure we’re updated!

Again, we’re working to get this fixed quickly and we apologize for the frustration this can cause while using our websites.  More to come on this as we make our fixes.

– Ryan

Further reading:

You can send hate mail here:
or via Twitter:  @IndustrialDev

Leave a Reply