在开发抽奖转盘活动的时候会遇到弧形展示奖品名称的需求,使用div和css并不能实现。
这里借助svg来实现,创建一个宽高比为2:1的svg,在svg内创建文本和圆形路径,效果如下:
放到转盘上的效果如下图,svg是矢量的,会自动适应父级元素;需要注意,文字超长显示...无法实现,需要用逻辑截取;
demo源码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> div{width:220px;height:220px;border:1px solid #222;margin:200px;} </style> </head> <body> <div> <svg viewBox="0 0 440 220"> <defs> <path id="MyPath" d="M-150,440 A100,100 0 1,1 590,440"></path> </defs> <text font-size="45"> <textPath xlink:href="#MyPath" startOffset="50%" style="fill: red; text-anchor: middle;">谢谢参与谢谢参与</textPath> </text> </svg> </div> </body> </html>
复制