2

今天我正在尝试优化我的网站,以便在 Firefox 中获得更好的渲染效果!我的问题是 text-shadow 和 font-weight 属性...我只想为 firefox 设置自定义值(我的网站只兼容 mac,所以我不需要 IE 兼容性)但我不会单独使用只有这两个属性的样式表!!!有什么办法吗?或者我必须使用 php 脚本来过滤用户代理并为 firefox 加载自定义样式表?

提前致谢!

4

4 回答 4

6

好的,有点晚了,但是对于像我这样不高兴听到上面的答案的人来说,有办法做到这一点。

<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>
于 2011-11-25T00:23:39.703 回答
2

您可以使用CSS 浏览器选择器

于 2009-07-11T13:07:50.480 回答
2

您似乎只想支持支持的浏览器text-shadow,那么为什么只针对 Firefox?您的方法应该是只更改font-weight那些支持text-shadow. 但这说起来容易做起来难。

浏览器嗅探器将无法工作,除非它们能够区分 Firefox 3.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]-->

有了这个,您将在这些浏览器text-shadow中正确实现:font-weight

  • 火狐 3.5+
  • 歌剧 9.5+
  • Safari 1.1+(自 2003 年起!)
  • 铬 2.0+
  • Konqueror 3.4+

如果你想在 IE 中使用阴影,你可以使用filter带有 的表达式DropShadow(),但我个人不建议使用专有的 CSS 扩展。

那么,您唯一真正的“损失”将是不font-weight适合旧的非 IE 浏览器,例如 Firefox 3.0 和更低版本,以及 Opera 9.2x 和更低版本。

font-weight那么,为非常有限的旧浏览器子集更改 JavaScript 或 PHP 浏览器真的值得吗?

如果答案仍然是肯定的,那么有像这样的 PHP 浏览器嗅探器。

于 2009-07-12T07:18:06.743 回答
1

条件仅适用于 IE,抱歉。也许其中一些功能可以帮助您,它们仅适用于壁虎浏览器:Mozilla css extensions

于 2009-07-11T12:54:07.763 回答