今天,我正在尝试优化我的网站,以便在firefox中有更好的渲染效果!我的问题是文本阴影和字体粗细属性...我只想为firefox设置自定义值(我的网站只兼容mac,所以我不需要IE兼容性),但我不习惯只为这两个属性使用单独的样式表!有没有办法做到这一点?或者我必须使用php脚本来过滤用户代理并加载firefox的自定义样式表?
提前感谢!
发布于 2009-07-12 07:18:07
你似乎只想支持支持text-shadow的浏览器,那么为什么只针对火狐呢?您的方法应该是只为那些支持text-shadow的浏览器更改font-weight。但这说起来容易做起来难。
除非浏览器嗅探器能够区分Firefox3.5和早期版本,否则浏览器嗅探器是不会工作的。通过KahWee链接的方法不能实现这一点,但无论如何我都不建议使用浏览器嗅探--这不是最佳实践。
相反,我建议将font-weight设置为适用于text-shadow的任何内容,然后包含一个IE条件,以便将大多数访问者的浏览器重置为原始的、未屏蔽的font-weight。
示例:
<style type="text/css" media="screen">
.some-text {
color: #fff;
font-weight: bold;
text-shadow: #000 0.1em 0.1em 0.2em;
}
</style>
<!--[if IE]>
<style type="text/css" media="screen">
.some-text {
font-weight: normal;
text-shadow: none; /* Does nothing now, but explicitly define NONE
for future IE versions as that is what is intended */
}
</style>
<![endif]-->这样,您就可以在以下浏览器中使用适当的font-weight实现text-shadow:
起
如果你想在IE中放置阴影,你可以在DropShadow()中使用filter表达式,但我个人不推荐使用专有的CSS扩展。
那么,你唯一真正的“损失”就是在Firefox3.0及更低版本、Opera9.2x及更低版本等较旧的非IE浏览器上拥有不适当的font-weight。
因此,是否真的值得通过JavaScript或PHP浏览器嗅探来为非常有限的旧浏览器子集更改font-weight?
如果答案仍然是肯定的,那么还有像this one这样的PHP浏览器嗅探器。
发布于 2011-11-25 08:23:40
好吧,现在有点晚了,但对于像我这样不喜欢听到上面的答案的人来说,有一种方法可以做到。
<html>
<head>
<style type="text/css">
#myDiv
{
background-color:blue;
width: 100px;
height: 100px;
}
@-moz-document url-prefix()
{
#myDiv
{
background-color: red;
}
}
</style>
</head>
<body>
<div id="myDiv"></div>
</body>
</html>发布于 2009-07-11 13:07:50
您可以使用CSS Browser Selector。
https://stackoverflow.com/questions/1113653
复制相似问题