Я согласен с тем, чтобы хранить все ваши основные CSS в одном файле. Если вы используете ASP.NET, вы можете использовать WebHandler для управления тем, какой CSS на самом деле отправляется. Я уверен, что другие языки имеют похожие решения. Это позволяет вам отправлять только то, что вам нужно, и разрешить его кэширование. Другое преимущество заключается в том, что вы можете комбинировать несколько CSS-файлов (если вы так делаете) и представлять только один. Это хорошая практика, поскольку вы уменьшаете количество запросов к веб-серверу.
Затем вы можете написать что-то вроде [if lt IE 8] margin: 0px; и он не будет отправлен в IE8 или FF и т. д.
Если вы используете только HTML, вы должны следовать упомянутым выше условиям стиля [! - [if IE]].
Мы используем WebHandler в нашем очень большом проекте, и я бы никогда больше этого не сделал.
См. http://www.conditional -css.com / download . Он доступен для PHP, C # и C
Удачи.