之前看过一篇文章:CSS奇葩技巧|使用混合模式来实现文字镂空波浪效果是非常巧妙的。它将CSS动画集成到文本中,主要使用混合模式。效果是这样的。为什么要使用混合模式?因为这是文本,不可能把HTML节点放在文本里面,所以下面介绍另一种方式。在HTML完全受限的情况下,借助SVGforeignObject可以轻松实现这种效果,而且会更好1.什么是SVGforeignObject首先,foreignObject是SVG中的一个元素,允许来自不同XML命名空间的元素被包括在内。在浏览器上下文中,通常是XHTML/HTML。这意味着什么?例如,通常我们在各种设计软件中导出的SVG可能是这样的如果直接保存为map.svg,然后放到浏览器中,你会注意到SVG有一个属性xmlns,也就是命名空间,指定了这个内容在浏览器中是如何呈现的,这里是http://万维网。w3.org/2000/svg是SVG的名称空间。如果没有这个属性,浏览器会直接渲染成一个普通的xml文档,如下,但是有一种情况是不需要指定这个命名空间的:如果我们的SVG文件直接内联在XHTML页面或者直接使用.html作为后缀名,可以不指定命名空间,浏览器会自动识别。那么,回到这里,foreignObject可以做什么?您可能已经猜到了,可以在SVG中呈现HTML标签!具体方法是在foreignObject内部添加xml命名空间,例如xboxyan