Drupal 7 cache page for anonymous users causes issues when loading different css files based on browser version If you have "cache page for anonymous users" on and are using server logic(http_user_agent) to load different css based on the browser version, that logic will not fire and you will get the css that was cached from the last visitor. This seems as if this will also cause some issues when loading js and css based on browser version and for responsive design...more specifically to browsers that don't understand media queries....pre IE 9 browsers. Does anyone have any solution on a work-around for using anonymous cache and loading the correct css based on server logic?
Serving up different content based on request headers isn't the best idea in general, especially if you aren't sending back a Vary header.

The best workaround is to use markup rather than server side logic.  When you do this, Drupal will cache things properly.

For IE, this means either using HTML conditionals and/or Paul Irish's method and/or JS "cleanup".

Pre-IE9 support for media queries has a few popular solutions, including the the Respond library.

For Drupal, I would recommend using a HTML5-aware base theme like Omega, which wraps all of this up in a nice package.