我正在尝试决定如何实现弯曲文本。
似乎有两种方式。
CSS 转换和画布。
我的印象是画布用于图形,因为它以立即模式运行,如这篇html5文章所示。
所以,我计划使用 CSS3 转换,如这篇SO 帖子所示。
我只是想确认或不确认画布的主要用途——它是为了高效的图形。
是的,你是对的 -<canvas>
是用于图形。它的工作原理就像一个<img>
,只是您可以使用脚本语言在其上动态绘制。从可访问性的角度考虑——您更愿意使用(花哨的)css 或 Photoshop 生成的图像来对文本产生炫酷的效果吗?
您决定不使用 if for text 很好。使用 CSS 转换,您仍然可以选择文本,或通过 DOM 轻松操作它,而无需重新绘制图片。
尽管这完全取决于您尝试实现的实际文本转换,但出于两个原因,我会尽量避免将 Canvas 用于文本:
画布基本上是一个位图表面,您可以在很多东西上绘制,包括文本。我个人认为它最适合图形和互动游戏。即使基本的 CSS 转换没有得到你想要的效果,我也会尝试使用 Javascript 代码操作,因为即使禁用了 javascript 或没有画布支持,你仍然有文本。