Aplicar diferentes estilos en HTML y ASP en función del navegador

Me he encontrado con un problema de márgenes con Firefox e IE que no parecía arreglarse aún con un reset bastante completo. Quería que cuando se eliminase una parte de un menú al recargar la página, un elemento colocado debajo de la sección eliminada se quedase en su sitio. Como dependía de un margen superior, tenía que ampliarlo ya que ahora el límite no era el elemento que tenía sobre él, sino el alto de la página.

Probé a usar las etiquetas condicionales del tipo <!–[if IE]> , pero ambos navegadores estaban dándome problemas para interpretarlos. Por lo tanto, acudí a una variable de servidor que contiene el navegador que el usuario utiliza. En el caso de que el navegador fuese IE establecería un margen superior y en el caso contrario otro.

<%dim nav : nav = Request.ServerVariables(«HTTP_USER_AGENT»)
if instr(nav,»MSIE») then %>
<ul style=»margin-top: 36.90em»>
<%else%>
<ul style=»margin-top: 37.60em»>
<%end if%>