700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 纯CSS实现播放暂停按钮变形动画

纯CSS实现播放暂停按钮变形动画

时间:2020-08-21 09:06:01

相关推荐

纯CSS实现播放暂停按钮变形动画

直接上代码,CSS:

.icon-play {width: 100px;height: 100px;fill: #089;cursor: pointer}.icon-play path {d: path('M 12,26 18.5,22 18.5,14 12,10 z M 18.5,22 25,18 25,18 18.5,14 z');transition: d .2s linear .1s}.icon-play.play path {d: path('M 12,26 16,26 16,10 12,10 z M 21,26 25,26 25,10 21,10 z')}

HTML:

<!-- 没错只需要这一行! --><svg class="icon-play" viewBox="0 0 36 36"><path/></svg>

或者想加个背景圆

<svg class="icon-play" viewBox="0 0 36 36"><circle cx="18" cy="18" r="18" fill="#000"/><path/></svg>

这样只需要通过JS控制.icon-play标签添加或移除.play就可以啦

// js 添加移除 .playvar iconPlay = document.querySelector('.icon-play')iconPlay.addEventListener('click', function () {if (iconPlay.classList.contains('play'))return iconPlay.classList.remove('play')iconPlay.classList.add('play')})

jquery的话直接:

// jquery 添加移除 .play$('.icon-play').click(function () {$(this).toggleClass('play')})

大功告成!!

如果你连JS都懒得写,只是要展示个纯CSS+HTML的demo的话,那就利用input标签的:checked属性来控制

.icon-play {width: 100px;height: 100px;fill: #089;cursor: pointer}.icon-play path {d: path('M 12,26 18.5,22 18.5,14 12,10 z M 18.5,22 25,18 25,18 18.5,14 z');transition: d .2s linear .1s}.toggle-play {display: none}.toggle-play:checked+.icon-play path {d: path('M 12,26 16,26 16,10 12,10 z M 21,26 25,26 25,10 21,10 z')}

<label><input type="checkbox" class="toggle-play"><svg class="icon-play" viewBox="0 0 36 36"><path/></svg></label>

效果图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。