Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何制作特定于Chrome/Opera的样式表?_Css_Google Chrome_Opera_Specific Stylesheets - Fatal编程技术网

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

Css 如何制作特定于Chrome/Opera的样式表?,css,google-chrome,opera,specific-stylesheets,Css,Google Chrome,Opera,Specific Stylesheets,我需要做chrome/opera破解,因为客户端需要一个字体替换脚本,它会破坏一些东西。。。这很遗憾,但在IE6-7、FF2-3和Safari中一切都正常。我没有办法修复脚本本身,我只能使用CSS和HTML对其进行破解 我正试着做以下几点: <!--[if IE 6]> <link rel="stylesheet" href="ie6.css" type="text/css" media="screen" /> <![endif]--> 这样行吗?有没

我需要做chrome/opera破解,因为客户端需要一个字体替换脚本,它会破坏一些东西。。。这很遗憾,但在IE6-7、FF2-3和Safari中一切都正常。我没有办法修复脚本本身,我只能使用CSS和HTML对其进行破解

我正试着做以下几点:

<!--[if IE 6]>
   <link rel="stylesheet" href="ie6.css" type="text/css" media="screen" />
<![endif]-->
这样行吗?有没有更简单的方法歌剧怎么样?


谢谢

我尚未测试此解决方案,但根据,您可以在Chrome上尝试以下方法:

if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1)
{
     var chromeCss = document.createElement("link");

     chromeCss.rel = "stylesheet";
     chromeCss.href = "ChromeStyle.css";

     document.getElementsByTagName("head")[0].appendChild(chromeCss);
}

一种干净的javascript方法可以做到这一点:

它将特定于浏览器的类广告到html的body标记中,您可以在css中使用这些标记,如:

.opera#thingie、.chrome#thingie{
做:这个;
}

希望这能有所帮助。

避免CSS攻击。他们会崩溃的

谷歌浏览器:

@media not all and (-webkit-min-device-pixel-ratio:0)
{  
    #example
    {
        width: 200px;
    }
}
狩猎:

@media screen and (-webkit-min-device-pixel-ratio:0)
{
    #example
    {
        width: 200px;
    }
}
歌剧:

@media not screen and (1)
{
    #example
    {
        width: 200px;
    }
}

对于谷歌(和Safari),您可以简单地使用以下内容:

<link rel="stylesheet" href="style-sheet_chrome.css" type="text/chrome/safari" />
我用它来加载特定于浏览器的@font-face声明

请记住:“用户代理嗅探是baaddd”

这不是,也永远不会是一个好的做法

维护一个实现了用户代理嗅探的网站真是麻烦

如果样式表数量少或者没有时间制作多个样式表,您应该更喜欢单独的样式表,或者css黑客

对于Opera,您可以使用以下技巧:

@media all和(-webkit最小设备像素比:10000),
并非全部和(-webkit最小设备像素比:0){
#身份证{
css规则;
}
}
不幸的是,每一个Chrome css黑客也被应用到Safari上

除了旧版本的Safari(.ie-InternetExplorer(所有版本))之外,没有办法分离这两个渲染
.ie10-internetexplorer10.x
.ie9-internetexplorer9.x
.ie8-internetexplorer8.x
.ie7-internetexplorer7.x
.ie6-internetexplorer6.x
.ie5-internetexplorer5.x
.gecko-Firefox(所有版本)、Camino、SeaMonkey
.ffxx-Firefox xx(用特定版本号更改xx)新的
.ff4-firefox4.x
.ff3-firefox3.x
.ff2-firefox2.x
.opera-opera(所有版本)
opera12-opera12.x
opera11-opera11.x
opera10-opera10.x
opera9-opera9.x
opera8-opera8.x
konqueror-konqueror
webkit-Safari、NetNewsWire、OmniWeb、Shiira、Google Chrome
Chrome-Google Chrome(所有版本)
Chromex-Chrome xx(根据特定版本号更改xx)新的
.safari-safari(所有版本)新的
.iron-SRWare iron

[OS代码][Browser代码].yourclass{padding left:5px;font size:14px}

body{background color:#000}
.ie8 body{background color:#111}(特定于Internet Explorer 8.x)
.win ie8 body{background color:#222}(特定于Internet Explorer 8.x,在Microsoft Windows所有版本上)
。opera body{background color:#333}(Opera所有版本)
.ff15 body{background color:#444}(特定于Firefox 15.x)
.linux.gecko body{background color:#555}(Firefox、Camino、SeaMonkey所有版本,在x11和linux上)

.ie7#右、.ie7#左{宽:320px}
有关更多信息,请访问此链接

如果(window.opera){/*opera-specific-action*/},我喜欢用javascript识别opera的方式也许你可以用它来添加特定的样式。我不知道Google Chrome。谢谢,如果我不能找到一种方法来做特定的CSS,这将有助于你为什么不能乱动JavaScript?如果你不能触摸JavaScript文件,你能用你自己的代码覆盖一两个函数吗?导致问题的是脚本创建我可以用andrija的anwser或Lobstority修改JS,但我更愿意做一些更干净的事情。我认为Chrome和OperaThanks,andrija有一个CSS条件。非常优雅的解决方案。他说他只能触摸HTML和CSS,但不能触摸JavaScript。我的方式是另外,他不能修改进行实际字体替换的外部JavaScript文件,但是如果他可以编辑HTML,他可以添加一个脚本标记:)是的,我可以,但如果可能的话我不想。如果你告诉我那是唯一的方法…我想我没有任何其他选择!这不是我想要的,但这是一个干净的方法,因为显然没有纯CSS的方法。谢谢!谢谢你分享这个。这将是我所有项目的基础设置的一部分!感谢您的百万ADDS http请求
<link rel="stylesheet" href="style-sheet_chrome.css" type="text/chrome/safari" />
@media not screen and (1)
    {
    #example
    {
    width: 200px;
    }
}