-1

我有一堆名字的列表。作为用户类型,我想突出显示名称中的文本匹配项。(除此之外:如果没有找到,我会显示“'rar' 没有匹配项”)。

这是我的目标图形模型:

用户输入了“rar”,并在名称中为匹配的“rar”赋予了红色轮廓。我可以在整个标签上做到这一点,text-shadow: 0 0 1px red但我无法做到部分。

我已经看到内容可编辑的 div http://html5demos.com/contenteditable 完成了这一点。他们可以为范围赋予不同的字体颜色。我可以用 xbl html 文本框等替换 xul 标签。我只是想不通。

谢谢

4

1 回答 1

2

他们可以为范围赋予不同的字体颜色。

这些范围基本上被包裹到跨度或字体元素中,并且那些被设置样式。您可以通过创建一个来完成拆分文本节点,Range()在文本节点内设置它的开始和结束,然后使用range.surroundContents()将它包装在一个临时节点中以设置样式。

一旦不再需要文本阴影,您就可以展开文本(只需将包装器替换为其内容)并规范化文本节点以恢复原始状态。

也许有一些方法可以神奇地创建匿名框(例如 CSS 在内部用于线框),但我不知道如何为您指明该方法的正确方向。

于 2015-02-20T21:34:27.713 回答