2

请指导我如何编写浏览器特定的 css 属性(不是类或 id)?我无法为不同的浏览器管理不同的 css 文件。我想使用相同的 css 文件和类,但如果有差异,我会提到浏览器的太平洋属性。

请指导我如何做到这一点。

4

5 回答 5

3

请更具体一点,但是当您通常编写 css 时,您希望它与所有浏览器兼容。

webkit 之类的东西各不相同(在 Firefox 中是 moz),但通常如果您在 css 中查找某些内容,则可以在每个浏览器中执行此操作。

background-image: -webkit-linear-gradient(left, #cccccc, #333333, #cccccc);
background-image: -moz-linear-gradient(left, #cccccc, #333333, #cccccc);
background-image: -ms-linear-gradient(left, #cccccc, #333333, #cccccc);
background-image: -o-linear-gradient(left, #cccccc, #333333, #cccccc);

例如,上面的代码应该可以在大多数现代浏览器中工作,如果它们都失败了,那么只有一个后备(本例中为纯黑色)。

此外,您总是可以使用不同的 css 文件,这不是很困难。

于 2012-12-05T03:05:45.323 回答
2

您可以使用 jquery 应用不同的 css 类

if($.browser.msie){
$("#someDiv").addclass("SomeClass");
}

$.browser.msie 适用于 Internet Explorer
$.browser.chrome 适用于 chrome
$.browser.mozilla 适用于 mozilla
$.browser.safari 适用于 safari
$.browser.opera 适用于歌剧

当涉及基于定位的问题时,这种方式将为您提供灵活性

参考:http ://api.jquery.com/jQuery.browser/

于 2012-12-06T21:14:21.587 回答
1

我猜你的意思是Vendor Specific Prefixes。我发现了一些您可能会喜欢的有趣内容:http: //css3please.com/

查看其他相关工具:http ://css-tricks.com/tldr-on-vendor-prefix-drama/

于 2012-12-05T08:06:00.097 回答
1

非常简单,您要么必须根据需要写出每个供应商前缀,要么使用 CSS 预处理器,例如 LESS。

Prefixr 也可以作为 Sublime Text 的插件,如果你碰巧在使用它(除了我使用 LESS 之外,我会这样做)。

于 2012-12-05T03:35:54.703 回答
0

如果可以的话,我可以推荐一种不同的方法。您可以测试该功能,然后根据该功能修改您的代码,而不是为每个浏览器编写代码吗?如果是这样,这个项目会有所帮助:

http://modernizr.com/

于 2012-12-05T02:56:47.123 回答