Hi,
meiner Meinung nach die eleganteste Möglichkeit auf unterschiedliche IE-Versionen zu reagieren ist das öffnende html-Tag durch folgendes Konstrukt zu ersetzen:
<!--[if lt IE 7]><html lang="de" class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]-->
<!--[if IE 7]><html lang="de" class="no-js lt-ie9 lt-ie8"><![endif]-->
<!--[if IE 8]><html lang="de" class="no-js lt-ie9"><![endif]-->
<!--[if gt IE 8]><!--><html lang="de" class="no-js"><!--<![endif]-->
Dann kannst du im CSS einfach über Klassen die gewünschten Versionen ansprechen, um alles kleiner IE8 zu bekommen z.B. so:
.lt-ie8 #text_start {
margin-top:50px;
}
Das angesprochene !important ist meiner Meinung nach nur sinnvoll wenn du inline-style-Angaben überschreiben möchtest. (Hier also nicht)
Ein Online-Beispiel (aufs wesentliche reduziert) würde helfen dein Problem nachzuvollziehen, zumindest ich kann das mit den von dir gegebenen Informationen nicht.
Tritt es bei dir hier auf?
Dieses Beispiel habe ich mit jsfiddle gemacht, find ich ganz nützlich für kleine Code-Schnipsel die man herzeigen will.
~dave