有什么办法可以编写CSS,使特定的风格适用于特定的浏览器?

问题描述:

我在我的项目中有外部CSS,它包含网站的所有样式,该网站适用于FF,但在IE中变得糟糕和疯狂(照常)。有什么办法可以编写CSS,使特定的风格适用于特定的浏览器?

那么,有没有什么办法可以编写CSS,使特定的风格适用于特定的浏览器?

如果我有一类说:

.col2{ width:237px; } 

如何修改上面的类,在IE和FF不同宽度的申请?

注:我不需要JavaScript来识别浏览器。

我认为保罗爱尔兰想出了最优雅的解决方案: http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

+0

嘿,这很整齐=)+1 – 2010-09-17 13:11:07

http://www.quirksmode.org/css/condcom.html

条件注释是你的朋友!

如果你只需要它在IE6的工作你可能在你的* html '黑客':

定义你的CSS:

.acol { 
width: 100px; 
} 

然后定义样式IE6覆盖:

* html .acol { 
width: 200px; 
} 

IE6的第二部分总是需要在原始声明后出现

+0

他们说,条件语句惯于在css文件中工作,那么我该怎么做?其次,我必须在IE 6的所有可用版本中测试此功能,不仅在IE 6 – 2010-09-17 13:06:19

+0

中,您不会将条件注释放入CSS文件中。在您的

中,您拥有普通的CSS文件,然后添加条件注释以定位仅限IE的CSS文件。 – Alex 2010-09-17 13:09:27
+0

你可以使用条件注释来定位你想要的任何版本。 – Alex 2010-09-17 13:09:53

最好的方法是指定特定的CSS文件(S)使用IE条件注释:http://www.quirksmode.org/css/condcom.html

另一种方式是CSS黑客,但他们是凌乱,通常不欢迎(现在):http://www.webdevout.net/css-hacks

有一个名为CSS Browser selector的jQuery插件。

你基本上把告诉CSS它是哪种浏览器,而不需要有条件的意见或任何东西:

.ie .myDiv 
{background-color: #f00;} 

.webkit .myDiv 
{background-color: #00f;} 

这真的很容易安装和使用:)