jquery - 跨浏览器文本描边和模糊

标签 jquery css

所以我想在网页上制作一个 photoshop 文字效果。 基本上文本是白色的,有纯黑色轮廓和笔画外的白色模糊。

跨浏览器 hell !

我一直在使用各种文本阴影、文本笔划和 ms 过滤器,但就是无法获得在所有浏览器中看起来一致的东西。 Firefox 显示轮廓,但它是灰色的,似乎无法在 IE 中使用过滤器组合。这是我的一项努力:

color: #FFF;
-webkit-text-fill-color: white;
-webkit-text-stroke-width: 2px;
-webkit-text-stroke-color: black;
text-shadow: 1px 1px 4px #ffffff, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
letter-spacing: -3px;
font-style: italic;
filter: glow(color=black,strength=1);  

我还使用带有@fontface 的嵌入式字体。

有谁知道可以让我设置文本样式的 jquery 解决方案吗? 我真的不想求助于图像,因为整个网站都使用了文本样式。

非常感谢任何建议!

<----------------编辑---------------->

太对了,我有点含糊。昨晚 super 晚,希望有一个神奇的 jquery 解决方案或类似的东西。到目前为止,我还没有使用过 SVG 文本,所以今天早上我肯定会尝试一下,因为它看起来可以处理大多数流行的浏览器。

我知道 Photoshop 和网页设计有很大的不同,但我得到了 PSD,我必须尽我所能构建一个网站。

我在 Mac 上工作并通过 Virtual Box 测试 IE。目前我正在使用 IE9,但现在下载 IE10 的副本以进行进一步测试。

这是我想要实现的 jpg 示例:

This is a jpg example of what I'm trying to achieve

最佳答案

正如其他人所说,这将很困难;这很可能比它的值(value)更麻烦。此外,JQuery 肯定不是这项工作的正确工具。

正如您已经发现的,text-shadow 样式会给您文本背后的模糊效果。如果文本大纲真的对你很重要,我会为此使用内联 SVG:

<svg>
    <text x="80" y="80" stroke="red" font-size="80px">Hi</text>
</svg>

(参见 this fiddle。内联 SVG 的跨浏览器兼容性:caniuse。)

不幸的是,如果您使用内联 SVG,则不能使用 CSS 的 text-shadow,因此您必须使用 feGaussianBlur 创建一个 SVG 过滤器.

关于jquery - 跨浏览器文本描边和模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19107748/

相关文章:

javascript - 为什么 .on ('load' , function) 在 JS 模板上不起作用?

jQuery 插件覆盖选项

javascript - 带有 .bind() 的 jQuery .keyup() 不起作用

html - 如何将图像与文本重叠,但它们都位于同一个 anchor 标记内?

javascript - 我可以更改预览图像位置吗 (Dropzone.js)

html - 标签后没有出现按钮?

javascript - jQuery 查找和替换文本

javascript - 检测 Dropdown 是否已被 Javascript 函数更改

html - Link_to 方法不适用于 CSS

css - flex-basis和width有什么区别?