如何制作Chrome/Opera特定的样式表?

mar*_*cgg 23 css opera google-chrome specific-stylesheets

我需要做chrome/opera hacks,因为客户想要的字体替换脚本会破坏事情......这很难过,但一切都在IE6-7,FF2-3和Safari中工作.我无法修复脚本本身,我只能使用CSS和HTML来破解它.

我正在努力做一些事情:

<!--[if IE 6]>
   <link rel="stylesheet" href="ie6.css" type="text/css" media="screen" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

可能吗?

我看到了这种做铬特定修复的方法,如:

body:nth-of-type(1) .elementOrClassName
{
/* properties go here */
}
Run Code Online (Sandbox Code Playgroud)

这管用吗?有更简单的方法吗?歌剧怎么样?

谢谢!

小智 39

一个干净的JavaScript方式:http://rafael.adm.br/css_browser_selector/

它将浏览器特定的类广告到你的html的body标签,你可以在你的css中使用它:

.opera #thingie, .chrome #thingie {
  do: this;
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


XP1*_*XP1 14

避免CSS黑客攻击.他们会打破.

谷歌浏览器:

@media not all and (-webkit-min-device-pixel-ratio:0)
{  
    #example
    {
        width: 200px;
    }
}
Run Code Online (Sandbox Code Playgroud)

苹果浏览器:

@media screen and (-webkit-min-device-pixel-ratio:0)
{
    #example
    {
        width: 200px;
    }
}
Run Code Online (Sandbox Code Playgroud)

歌剧:

@media not screen and (1)
{
    #example
    {
        width: 200px;
    }
}
Run Code Online (Sandbox Code Playgroud)

CSS只适用于Opera 11吗?

如何使CSS仅对Opera可见

针对LTE Opera 10的未来证明CSS攻击

  • Chrome浏览器对我不起作用(版本22.0.1229.94 m) (4认同)

小智 11

对于Google(和Safari),您只需使用以下内容即可;

<link rel="stylesheet" href="style-sheet_chrome.css" type="text/chrome/safari" />
Run Code Online (Sandbox Code Playgroud)

这将加载webkit特定的样式表.'type'可以根据需要命名,但必须包含在内.

您可以随意创建样式表,所有非webkit浏览器都会忽略它.

你将不得不使用上面的黑客为Opera.以下对我来说效果最好:

@media not screen and (1)
    {
    #example
    {
    width: 200px;
    }
}
Run Code Online (Sandbox Code Playgroud)

我用它来加载特定于浏览器的@ font-face声明.