Css 如何制作特定于Chrome/Opera的样式表?
我需要做chrome/opera破解,因为客户端需要一个字体替换脚本,它会破坏一些东西。。。这很遗憾,但在IE6-7、FF2-3和Safari中一切都正常。我没有办法修复脚本本身,我只能使用CSS和HTML对其进行破解 我正试着做以下几点: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]--> 这样行吗?有没
<!--[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;
}
}