文字精灵样式

Posted

技术标签:

【中文标题】文字精灵样式【英文标题】:Text Sprite styling 【发布时间】:2012-08-23 00:37:10 【问题描述】:

有没有什么方法可以定义文本sprite,除了示例中显示的大小和字体之外,还有更多样式选项?


    type: "text",
    text: "Hello, Sprite!",
    fill: "green",
    font: "18px monospace"

具体来说,我想让它加粗或加下划线。

我尝试了这样的style 配置:

style: 
    'text-decoration': 'underline'

我也尝试在字体配置中这样设置:

font: "underline 18px monospace"

都没有用。

Ext.draw.Sprite#font config in the docs 中的这句话听起来很有希望,但它非常神秘:

使用与 CSS 字体参数相同的语法

我一直在谷歌上搜索 CSS 字体参数,但没有发现太多用处。也许如果有人知道这意味着什么,他们可以对此有所了解。

【问题讨论】:

【参考方案1】:

font css 属性可让您指定粗体和斜体,但使用text-decoration 属性设置下划线。您需要使用样式配置:


    type: "text",
    text: "Hello, Sprite!",
    fill: "green",
    font: "bold 18px monospace",
    style: 
        textDecoration: "underline"
    

工作演示: http://jsfiddle.net/gilly3/WSQv9/。 在 Chrome 和 IE9 中测试。 Firefox doesn't yet support underline in SVG.

供参考,这里是字体参数定义:MSDNMDN

【讨论】:

【参考方案2】:

我从未使用过 extjs,但对我来说它看起来像 SVG。不幸的是,Firefox 不支持 svg 元素上的 text-decoration 属性,因此您可能正在 Firefox 中进行测试,但在 Chrome 中,您的 style 属性可能会正常显示。

解决方法是使用line 元素手动绘制下划线。使用 javascript 并不难,但我不知道如何以 extjs 方式完成此操作。

【讨论】:

由于浏览器与“文本装饰”的兼容性问题,我支持此解决方案。

以上是关于文字精灵样式的主要内容,如果未能解决你的问题,请参考以下文章

前端基础-css高级技巧

按键精灵怎么判断剪切板里面的多个文字?

按键精灵怎么逐行自动读取文本中的文字,并自动输入某处

saystring输出文字缺少

按键精灵大漠插件。现在我在后台窗口抓取截图把我要识别的那个文字提取点阵建立了只有这个点阵的字库,

按键精灵多机型定时秒杀综合版提交脚本