Dream Away
<style>#mydiv { margin: 30px 0 30px calc(50% - 593px); width: 1024px; height: 640px; background: url('https://638183.freep.cn/638183/t24/webp2/dream.webp') no-repeat center/cover; box-shadow: 4px 4px 8px gray; z-index: 1; position: relative; --state: running; }
#msvg { position: absolute; left: 55%; top: 20%; cursor: pointer; animation: rot 10s linear infinite var(--state); }
#msvg:hover line { transition: 1s; stroke: orange; }
#vid { position: absolute; width: 100%; height: 100%; object-fit: cover; -webkit-mask: radial-gradient(transparent 20%, red); pointer-events: none; }
#fsbtn { position: absolute; left: 50%; bottom: 15px; color: white; padding: 4px 6px; border: 2px solid snow; border-radius: 8px; user-select: none; cursor: pointer; transition: .5s; }
@keyframes rot { to { transform: rotate(-360deg); } }
</style>
<div id="mydiv">
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=534540260" autoplay loop></audio>
<video id="vid" src="https://bpic.588ku.com/video_listen/588ku_video/22/11/05/16/14/34/video63661b6a021fc.mp4" autoplay loop muted></video>
<svg id="msvg" width="200" height="200" viewBox="-100 -100 200 200"></svg>
<span id="fsbtn"></span>
</div>
<scripttype="module">
import fscreen from 'https://638183.freep.cn/638183/web/mod/fscreen.js';
import Dr from 'https://638183.freep.cn/638183/web/mod/svgdr.js';
var dr = Dr.dr('msvg');
dr.defs('defs');
dr.g('lines').addTo('defs');
dr.line(-90, 0, -40, 0, 'tan', 10, 'round').addTo('lines');
dr.line(-40, 0, 40, 0, 'tan', '2').addTo('lines');
dr.line(40, 0, 90, 0, 'tan', 10, 'round').addTo('lines');
var all = 6;
Array(all).fill('').forEach( (_,key) => dr.use('#lines').transform(`rotate(${180 / all * key})`) );
msvg.onclick = () => {
msvg.style.setProperty('--state', ['paused','running'][+aud.paused]);
aud.paused ? (aud.play(), vid.play()) : (aud.pause(), vid.pause());
};
fscreen.fs('mydiv', 'fsbtn');
aud.play().catch(_ => dr.svg.style.setProperty('--state', 'paused'));
</script>
<h2>帖子代码</h2>
<div id="hEdiv"><pre id="hEpre">
<style>
#mydiv { margin: 30px 0 30px calc(50% - 513px); width: 1024px; height: 640px; background: url('https://638183.freep.cn/638183/t24/webp2/dream.webp') no-repeat center/cover; box-shadow: 4px 4px 8px gray; z-index: 1; position: relative; --state: running; }
#msvg { position: absolute; left: 55%; top: 20%; cursor: pointer; animation: rot 10s linear infinite var(--state); }
#msvg:hover line { transition: 1s; stroke: orange; }
#vid { position: absolute; width: 100%; height: 100%; object-fit: cover; -webkit-mask: radial-gradient(transparent 20%, red); pointer-events: none; }
#fsbtn { position: absolute; left: 50%; bottom: 15px; color: white; padding: 4px 6px; border: 2px solid snow; border-radius: 8px; user-select: none; cursor: pointer; transition: .5s; }
@keyframes rot { to { transform: rotate(-360deg); } }
</style>
<div id="mydiv">
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=534540260" autoplay loop></audio>
<video id="vid" src="https://bpic.588ku.com/video_listen/588ku_video/22/11/05/16/14/34/video63661b6a021fc.mp4" autoplay loop muted></video>
<svg id="msvg" width="200" height="200" viewBox="-100 -100 200 200"></svg>
<span id="fsbtn"></span>
</div>
<scripttype="module">
import fscreen from 'https://638183.freep.cn/638183/web/mod/fscreen.js';
import Dr from 'https://638183.freep.cn/638183/web/mod/svgdr.js';
var dr = Dr.dr('msvg');
dr.defs('defs');
dr.g('lines').addTo('defs');
dr.line(-90, 0, -40, 0, 'tan', 10, 'round').addTo('lines');
dr.line(-40, 0, 40, 0, 'tan', '2').addTo('lines');
dr.line(40, 0, 90, 0, 'tan', 10, 'round').addTo('lines');
var all = 6;
Array(all).fill('').forEach( (_,key) => dr.use('#lines').transform(`rotate(${180 / all * key})`) );
msvg.onclick = () => {
msvg.style.setProperty('--state', ['paused','running'][+aud.paused]);
aud.paused ? (aud.play(), vid.play()) : (aud.pause(), vid.pause());
};
fscreen.fs('mydiv', 'fsbtn');
aud.play().catch(_ => dr.svg.style.setProperty('--state', 'paused'));
</script>
</pre></div>
<script type="module">
import hlight from 'https://638183.freep.cn/638183/web/mod/helight.js';
hlight.hl(hEdiv, hEpre);
</script> 本帖配套 svg教程:画直线 - 马黑黑教程专版 - 花潮论坛 - Powered by Discuz! 做应用演示
音乐挺好听的。 好看 好听,学习了~~ 这个小播像冰棍,黑黑老师辛苦了! 有意思,如果粗线段从0出发,只要两段粗细线段就行了,如果粗线段在端头,需要画三段呢{:4_187:} 粗线在端头的,还用上了stroke-linecap 线帽式样,取了round。其实觉得线帽的square没什么用,就增长了一点,看不出呢。真的用的话要么缺省要么round就行了。 简单的直线还能有这么漂亮的效果,黑黑真是创意无限啊{:4_199:} 刚看到这个小播以为是单个是狗尾草样式,然后旋转,是12个摆一圈。。。
刚才跟贴才发现,单条是三段组合,两头的比较宽,中间的比较窄,6个旋转而成。
我说每天的新效果都有意想不到的样式出场,此言不虚的。。又猜错了。{:4_170:} 这个背景很梦幻,特别的是视频的选择,黄色粒子效果跟画面好搭啊。。中间挖了个洞去掉LOGO。却并不影响粒子的流动。。。还是十分完整。。
之前看以为加了个暗角渐变,现在想想应该是视频径向渐变时出现的。。。并不是特意整上去的。。{:4_173:} 白老师找的音乐都太赞了~~跟贴时直接保留,跟我的贴子也很搭。{:4_173:} 花飞飞 发表于 2024-11-6 21:05
白老师找的音乐都太赞了~~跟贴时直接保留,跟我的贴子也很搭。
都搭的 马黑黑 发表于 2024-11-6 23:41
都搭的
那可真是顶级的好音乐。。{:4_173:} 看见梦江南和朵拉的作业了,黑黑这个播放器漂亮,小辣椒会抽空套用一个玩玩{:4_205:} 黑黑现在的制作越来越美了,效果杠杠的 小辣椒 发表于 2024-11-7 21:11
黑黑现在的制作越来越美了,效果杠杠的
这不配合正在开发的 svgdr 吗?自家的东东要做好一点{:4_170:} 小辣椒 发表于 2024-11-7 21:10
看见梦江南和朵拉的作业了,黑黑这个播放器漂亮,小辣椒会抽空套用一个玩玩
这个简单的 花飞飞 发表于 2024-11-7 19:23
那可真是顶级的好音乐。。
还不错的
页:
[1]
2