It is intended to be so.
You have certain HTML code specifically for IE, while some are for general use.
The common approach is:
<link rel="stylesheet" type="text/css" href="style.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->
Where "ie.css" contains minimal CSS adjustments to rectify any conflicts with the general stylesheet.
If you prefer completely separate stylesheets, you can do this:
<!--[if !IE]><!-->
<link rel="stylesheet" type="text/css" href="not-ie.css" />
<!--<![endif]-->
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->