本文最后更新于 1788 天前,其中的信息可能已经有所发展或是发生改变。
实现文字平滑弯曲弧形效果
基本介绍
有时候做页面的时候,要实现一个类似拱门的效果,每次文字不一样,但是文字得呈现拱形状,类似上图啦。
尝试自己使用canvas画和css3的rotate旋转div,两种方法都是计算旋转角度的时候很麻烦,因为可能5个字10个字,但是得均匀地呈拱形分布,要知道让每个文字都沿着弯曲路径排布相当的复杂,于是便发现了这个好用的插件—arctext.js
它能够自动计算每个文字正确的旋转角度,并且生成对应的CSS ,其实就是基于css3和jquery,使用起来也很方便。
可选参数
radius : 0,
// 弯曲度数,最小的值是文字长度,如果设置为-1,则显示直线。
// 默认true,为false则不旋转文字
// the minimum value allowed is
// half of the word length.
// if set to -1, the word will be straight.
dir : 1,
// 参数为 1 向下,参数为 -1 向上
// 1: curve is down,
// -1: curve is up
rotate : true,
// if true each letter should be rotated.
fitText : false
// if you want to try out the
// fitText plugin (http://fittextjs.com/)
// set this to true.
// Don't forget, the wrapper should be fluid.
使用方法
首先我们需要引入插件文件,也就是 jQuery 和 Arctext.js 插件的文件
<script src="https://github.xiaodongxier.com/cdn/js/jquery.min.js"></script>
<script src="https://github.xiaodongxier.com/cdn/js/jquery.arctext.js"></script>
在页面加载完成以后调用插件
$(function(){
$('.test').arctext({radius: 300});
})
方法函数
如果你已经设置了弯曲的文本,但是你现在又想改一下特效,那么你可以使用下面的方法
$(function(){
mytxt = $('.test')
//初始化
mytxt.arctext({radius: 300});
//修改效果
mytxt.arctext('set', {
radius : 200,
dir : 1,
animation : {
speed : 300
}
})
})