对于IE我可以使用它:
.content {
*padding: 10px;
padding: 10px
}
通过这样做,* -part将仅用于IE。 webkit浏览器也有这样的三元组吗? (Whitout让他们为webkit浏览器调用了特殊的.css吗?)
答案 0 :(得分:1)
基于webkit的浏览器没有这样的黑客攻击。但是,您可以使用以下方式(在多个浏览器中)实现此类效果:
<script>
(function(){ //anonymous function to prevent leaking
var d = document.createElement("div");
d.style.cssText = "-webkit-border-radius:1px;"; // webkit, such as Chrome/Safari
if(/webkit/i.test(d.style.cssText)){
var style = document.createElement("style");
style.src = "webkit-only.css";
document.getElementsByTagName("head")[0].appendChild(style);
}
})();
</script>
此解决方案背后的关键是浏览器忽略未知的CSS声明。 -webkit-
前缀仅在基于webkit的浏览器中可用。
同样,以下前缀可用于检测其他浏览器引擎:
-moz-border-radius:1px;
- Gecko,例如Firefox -o-border-radius:0;
- Opera -ms-border-radius:0;
- Trident,例如Internet Explorer 您的用户可能有一个不支持border-radius
的古老浏览器,但由于Chrome通常保持最新(自动更新),因此webkit
解决方案应该始终工作
答案 1 :(得分:1)
找到一个体面的黑客。似乎一见钟情:)
@media screen and (-webkit-min-device-pixel-ratio:0) {
div.panel-homepage div#plan-build-operate div.panel-pane ul.links a { padding-top: 20px;}
}
答案 2 :(得分:1)
如果您使用PHP,则有一个函数调用:
<强> get_browser()强>
查看:http://php.net/manual/fr/function.get-browser.php
此函数返回有关客户端浏览器的所有信息的数组。 在body标签中将这些信息添加为CSS类。
您将能够在不使用CSS hack的情况下定位特定浏览器 有一个有效的CSS代码。
祝你好运!答案 3 :(得分:1)
我发现了一种新方法,而不是对没有安装扩展程序的人使用get_browser()。这种新方法是使用HTACCESS代替。您需要安装模块“mod_setenvif”。
以下是您需要放入.htaccess文件的代码。 它是HTTP_USER_AGENT服务器变量的正则表达式。如果匹配,我们创建一个USER_AGENT变量来存储匹配的浏览器名称。
<IfModule mod_setenvif.c>
BrowserMatch "Mozilla" USER_AGENT=firefox
BrowserMatch "Safari" USER_AGENT=safari
BrowserMatch "Chrome" USER_AGENT=chrome
BrowserMatch "MSIE" USER_AGENT=ie
</IfModule>
然后,您可以在PHP代码中使用新的服务器变量。
<body class="<?php echo $_SERVER['USER_AGENT'];?>">
祝你有个美好的一天。
答案 4 :(得分:1)
使用以下内容来定位Webkit:
x:-webkit-any-link { padding: 10px; }
如果您需要支持IE7,请添加以下内容以过滤此规则以应用它:
* > /**/ .content, x:-webkit-any-link { padding: 10px; }