用svg制作富有动态的tooltip

网友投稿 246 2023-07-31


用svg制作富有动态的tooltip

昨晚看了用svg如何制作富有动态的tooltip,于是今天就心血来潮学着做一下,于是也成功做出来,也明白其中的原理,收获颇多阿!接下来要多去学习svg,这是个好东西。

这其中也注意了一些平时纠结的细节应该怎么去做,比如:

article标签长度为600px,section 分别是300px,然后设置其为display:inline-block;然后是下面的效果:

本来按常理来说的话,tXHKFdXXdh应该是头像水平排列,这是因为display:inline-block;会将article标签和section标签之间空白渲染成空格,空格展位,所以会导致图片不在同一排,解决的办法是给article标签和section标签添加如下的css代码:

article{

width:600px;

margin:200px;

font-size:0;

}

article section{

display:inline-block;

width:300px;

font-size:14px;

position:relative;

}

于是空白去掉了!

另外对于svg的web图像,我们可以对其进行修改,使其图像的样式可进行修改,它的格式大概如下(举一例子):

width="600px" height="300px" viewBox="0 0 600 300" enable-background="new 0 0 600 300" xml:space="preserve">

width="600px" height="300px" viewBox="0 0 600 300" enable-background="new 0 0 600 300" xml:space="preserve">

于是我们不可能将其引入到html文件里面,如果说有很多这种svg图像,修改起来很麻烦!

于是使用的是ajax来加载这个图片:

html的dom:

// 问题二:对于svg图像我们要如何引入,不可能将整个svg都引入吧,不便于修改编辑

// 技巧二:使用js进行加载

$('svg[data-src]').each(function(index, svg) {

var src = $(svg).data('src'); //data用于获取data-*属性的路径

$.ajax({

url: src,

dataType: 'xml',

success: function(content) {

var doc = content.documentElement;

$(doc).attr({

width: $(svg).attr('width'),

height: $(svg).attr('height')

});

$(svg).after(doc).remove();

}

})

});

还有对于图片的描边动画效果,这里又怎么个好的方法,只针对svg图像:

使用stroke-dasharray(虚线描边,可以不断尝试,使其调至适应大小,完成实现整个描边的效果)stroke-dashoffset(虚线间隔,调至整个svg没有描边的效果),然后使用transition实现这个动画

最终效果(如图,没有在线演示,动画效果出不来,不过下面贴的代码直接复制,再去下载两个svg图片和头像就可以使用)

代码如下:

韩国正太

听说优衣库的试衣间已全面升级,空间大小扩充一倍,精装修,同时四面都安有镜子,方便无死角录像呢,要去试一下不,美女!

优衣库美女

听起来就很刺激,那走,帅哥,准备家伙,go!

以上所述就是本文的全部内容了,希望大家能够喜欢。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java数学归纳法非递归求斐波那契数列的方法
下一篇:java实现文件重命名的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~