Internet explorer 处理IE兼容性问题的最佳方法是什么?

Internet explorer 处理IE兼容性问题的最佳方法是什么?,internet-explorer,cross-browser,Internet Explorer,Cross Browser,我认为这里的一切都符合我的想法,但IE是最不兼容的浏览器 我用不同的css文件来处理ie的不兼容性,以正确显示每个版本 有更好的方法吗?不同的CSS文件,每个文件上都有IF ie过滤器,这可能是分离独立的ie CSS的最干净的方法。不同的CSS文件,每个带有IF ie过滤器的文件可能是分离独立ie CSS的最干净的方法。使用不同CSS文件和过滤器的优点是,您可以编写100%兼容的CSS,而黑客会使CSS无效 另一方面,使用CSS黑客只有一个CSS文件的优势是下载效率 不过,我还是喜欢过滤器。使用

我认为这里的一切都符合我的想法,但IE是最不兼容的浏览器

我用不同的css文件来处理ie的不兼容性,以正确显示每个版本


有更好的方法吗?

不同的CSS文件,每个文件上都有IF ie过滤器,这可能是分离独立的ie CSS的最干净的方法。

不同的CSS文件,每个带有IF ie过滤器的文件可能是分离独立ie CSS的最干净的方法。

使用不同CSS文件和过滤器的优点是,您可以编写100%兼容的CSS,而黑客会使CSS无效

另一方面,使用CSS黑客只有一个CSS文件的优势是下载效率

不过,我还是喜欢过滤器。使用下面的范例可以帮助我保持特定于浏览器的CSS的条理化,利用级联和等效的特定性是我发现的处理浏览器不一致的最简单方法。别忘了,您还可以在这些过滤器中包含特定于IE的javascript,以丰富您的IE体验


<link id="stylesheet1" rel="stylesheet" href="css/style.css" type="text/css" media="all" />
<!--[if IE]>
<link id="stylesheet2" rel="stylesheet" href="css/ie.css" type="text/css" media="all" />
<![endif]--> 
<!--[if lte IE 6]>
<link id="stylesheet3" rel="stylesheet" href="css/ie6.css" type="text/css" media="all" />
<![endif]-->
这个过滤器范例的另一个优点是,您可以隔离为老化的浏览器编写的代码,这些浏览器总有一天会过时。例如,还有人关心IE 5了吗?这些文件并没有减缓任何速度,因为它们只是根据需要下载的,而且随着时间的推移,它们的需求会减少。我宁愿这样做,也不愿让过时的代码与符合标准的代码交织在一起

但是,除了IE以外的浏览器,比如Safari或Firefox呢?好吧,试着编写与Chrome/Safari/Firefox相同的CSS代码,我很少需要对其中一个进行特定的破解,但对于某些东西,我使用了特定于浏览器的CSS扩展

另一个选项是javascript浏览器选择器:

最后,我简要地看了一下S.O.,他们似乎没有使用IE过滤器。他们有一个CSS文件,为了提高性能,他们巧妙地将其托管在一个无Cookie的域中:


将不同的CSS文件与过滤器一起使用的优点是,您可以编写100%兼容的CSS,而黑客会使您的CSS无效

另一方面,使用CSS黑客只有一个CSS文件的优势是下载效率

不过,我还是喜欢过滤器。使用下面的范例可以帮助我保持特定于浏览器的CSS的条理化,利用级联和等效的特定性是我发现的处理浏览器不一致的最简单方法。别忘了,您还可以在这些过滤器中包含特定于IE的javascript,以丰富您的IE体验


<link id="stylesheet1" rel="stylesheet" href="css/style.css" type="text/css" media="all" />
<!--[if IE]>
<link id="stylesheet2" rel="stylesheet" href="css/ie.css" type="text/css" media="all" />
<![endif]--> 
<!--[if lte IE 6]>
<link id="stylesheet3" rel="stylesheet" href="css/ie6.css" type="text/css" media="all" />
<![endif]-->
这个过滤器范例的另一个优点是,您可以隔离为老化的浏览器编写的代码,这些浏览器总有一天会过时。例如,还有人关心IE 5了吗?这些文件并没有减缓任何速度,因为它们只是根据需要下载的,而且随着时间的推移,它们的需求会减少。我宁愿这样做,也不愿让过时的代码与符合标准的代码交织在一起

但是,除了IE以外的浏览器,比如Safari或Firefox呢?好吧,试着编写与Chrome/Safari/Firefox相同的CSS代码,我很少需要对其中一个进行特定的破解,但对于某些东西,我使用了特定于浏览器的CSS扩展

另一个选项是javascript浏览器选择器:

最后,我简要地看了一下S.O.,他们似乎没有使用IE过滤器。他们有一个CSS文件,为了提高性能,他们巧妙地将其托管在一个无Cookie的域中:


这正是我正在做的,只是在寻找更好的方式?我更喜欢那种方式,我不确定有没有更好的方式。你可以尝试合并你的CSS文件并添加一些黑客来下载一个文件,但我认为这会增加很多混乱,可能很困难-什么会覆盖什么?这正是我正在做的,只是寻找更好的方法?我更喜欢这种方法,我不确定有没有更好的方法。你可以尝试合并你的CSS文件并添加一些黑客来下载一个文件,但我认为这会增加很多混乱,而且可能很困难-什么会覆盖什么?在我下面的回答中,javascript浏览器选择器:-这是处理IE/浏览器不一致的不同选项,包括不同版本的IE,这就是你的问题所要求的。在我下面的回答中,javascript浏览器选择器:-这是处理IE/浏览器不一致的不同选项,包括不同版本的IE,这就是你的问题所要求的。