马黑黑 发表于 2024-4-26 08:07

遇见

本帖最后由 马黑黑 于 2024-4-26 09:41 编辑 <br /><br /><style>
        #mydiv { margin: -60px 0 0 calc(50% - 681px); width: 1200px; height: 686px; background: url('https://638183.freep.cn/638183/t24/webp/meet.webp') no-repeat center/cover; box-shadow: 3px 3px 6px gray; overflow: hidden; z-index: 1; position: relative; display: grid; place-items: center; }
        #mydiv::before, #mydiv::after { position: absolute; content: ''; transform-origin: 50% 50%; animation: swear .8s linear infinite alternate var(--state); }
        #mydiv::before { left: 65px; top: 50px; width: 180px; height: 90px; background: url('https://t.kfs.io/upload_images/86690/cf316f86bff972dff534835bffc12b9f3aee2bc1_large.jpg') no-repeat -65px -50px; }
        #mydiv::after {left: 670px; top: 230px; width: 80px; height: 104px; background: url('https://t.kfs.io/upload_images/86690/cf316f86bff972dff534835bffc12b9f3aee2bc1_large.jpg') no-repeat -670px -230px; }
        #player { position: absolute; top: 60px; width: 100px; filter: drop-shadow(0 0 6px #fff) opacity(.75); cursor: pointer; animation: rot 6s linear infinite var(--state); }
        .vid { position: absolute; object-fit: cover; mix-blend-mode: screen; }
        .vid:nth-of-type(1) { bottom: 0; width: 60%; height: 30%; }
        .vid:nth-of-type(2) { left: 70%; top: 0; width: 30%; height: 100%; }
        #mydiv canvas { transform: skew(-15deg); }
        @keyframes rot { to { transform: rotate(360deg); } }
        @keyframes swear { to { transform: skew(15deg); } }
</style>

<div id="mydiv">
        <audio id="aud" src="https://music.163.com/song/media/outer/url?id=1331937276" autoplay loop></audio>
        <video class="vid" src="https://img.tukuppt.com/video_show/2269348/00/14/65/5e59d9be359da.mp4" loop muted></video>
        <video class="vid" src="https://img.tukuppt.com/video_show/2414777/00/01/68/5b4854b8add7c.mp4" loop muted></video>
        <img id="player" src="https://638183.freep.cn/638183/t24/leaf/5l.png" alt="" />
</div>

<script>
        var sc = document.createElement('script');
        sc.charset = 'utf-8';
        sc.src = 'https://638183.freep.cn/638183/web/js/lzwz.js';
        document.body.appendChild(sc);
        var wz = {papa: '#mydiv', text: 'MEET YOU', left: '620px', top: '550px', color: 'lightblue'};
        var vids = document.querySelectorAll('.vid');
        var mState = () => vids.forEach(vid => aud.paused ?
                (vid.pause(), mydiv.style.setProperty('--state', 'paused')) :
                (vid.play(),mydiv.style.setProperty('--state', 'running')));
        aud.onplaying = aud.onpause = () => mState();
        player.onclick = () => aud.paused ? aud.play() : aud.pause();
</script>

马黑黑 发表于 2024-4-26 08:09

本帖最后由 马黑黑 于 2024-4-26 09:43 编辑 <br /><br /><style>
.mum { position: relative; margin: 0; padding: 10px; font: normal 16px/20px Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; color: black; background: rgba(240, 240, 240,.95); box-shadow: 2px 2px 4px gray; border: thick groove lightblue; border-radius: 6px; }
.mum ::selection { background-color: rgba(0,100,100,.35); }
.mum div { margin: 0; padding: 0; }
.mum cl-cd { display: block; position: relative; margin: 0 0 0 50px; padding: 0 0 0 10px; white-space: pre-wrap; overflow-wrap: break-word; border-left: 1px solid silver; }
.mum cl-cd::before { position: absolute; content: attr(data-idx); width: 50px; color: gray; text-align: right; transform: translate(-70px); }
.tRed { color: red; }
.tBlue { color: blue; }
.tGreen { color: green; }
.tDarkRed { color: darkred; }
.tMagenta { color: magenta; }
</style>

<h2>帖子代码</h2>
<div class='mum'>
<cl-cd data-idx="1">&lt;<span class="tDarkRed">style</span>&gt;</cl-cd>
<cl-cd data-idx="2">&nbsp; &nbsp; #mydiv { <span class="tBlue">margin:</span> -60px 0 0 calc(50% - 681px); <span class="tBlue">width:</span> 1200px; <span class="tBlue">height:</span> 686px; <span class="tBlue">background:</span> url(<span class="tMagenta">'https://638183.freep.cn/638183/t24/webp/meet.webp'</span>) no-repeat center/cover; <span class="tBlue">box-shadow:</span> 3px 3px 6px gray; <span class="tBlue">overflow:</span> hidden; <span class="tBlue">z-index:</span> 1; <span class="tBlue">position:</span> relative; <span class="tBlue">display:</span> grid; <span class="tBlue">place-items:</span> center; }</cl-cd>
<cl-cd data-idx="3">&nbsp; &nbsp; #mydiv::before, #mydiv::after { <span class="tBlue">position:</span> absolute; <span class="tBlue">content:</span> <span class="tMagenta">''</span>; <span class="tBlue">transform-origin:</span> 50% 50%; <span class="tBlue">animation:</span> swear .8s linear infinite alternate <span class="tBlue">var</span>(--state); }</cl-cd>
<cl-cd data-idx="4">&nbsp; &nbsp; #mydiv::before { <span class="tBlue">left:</span> 65px; <span class="tBlue">top:</span> 50px; <span class="tBlue">width:</span> 180px; <span class="tBlue">height:</span> 90px; <span class="tBlue">background:</span> url(<span class="tMagenta">'https://t.kfs.io/upload_images/86690/cf316f86bff972dff534835bffc12b9f3aee2bc1_large.jpg'</span>) no-repeat -65px -50px; }</cl-cd>
<cl-cd data-idx="5">&nbsp; &nbsp; #mydiv::after {<span class="tBlue">left:</span> 670px; <span class="tBlue">top:</span> 230px; <span class="tBlue">width:</span> 80px; <span class="tBlue">height:</span> 104px; <span class="tBlue">background:</span> url(<span class="tMagenta">'https://t.kfs.io/upload_images/86690/cf316f86bff972dff534835bffc12b9f3aee2bc1_large.jpg'</span>) no-repeat -670px -230px; }</cl-cd>
<cl-cd data-idx="6">&nbsp; &nbsp; #player { <span class="tBlue">position:</span> absolute; <span class="tBlue">top:</span> 60px; <span class="tBlue">width:</span> 100px; <span class="tBlue">filter:</span> drop-shadow(0 0 6px #fff) opacity(.75); <span class="tBlue">cursor:</span> pointer; <span class="tBlue">animation:</span> rot 6s linear infinite <span class="tBlue">var</span>(--state); }</cl-cd>
<cl-cd data-idx="7">&nbsp; &nbsp; .vid { <span class="tBlue">position:</span> absolute; <span class="tBlue">object-fit:</span> cover; <span class="tBlue">mix-blend-mode:</span> screen; }</cl-cd>
<cl-cd data-idx="8">&nbsp; &nbsp; .<span class="tBlue">vid:</span>nth-of-type(1) { <span class="tBlue">bottom:</span> 0; <span class="tBlue">width:</span> 60%; <span class="tBlue">height:</span> 30%; }</cl-cd>
<cl-cd data-idx="9">&nbsp; &nbsp; .<span class="tBlue">vid:</span>nth-of-type(2) { <span class="tBlue">left:</span> 70%; <span class="tBlue">top:</span> 0; <span class="tBlue">width:</span> 30%; <span class="tBlue">height:</span> 100%; }</cl-cd>
<cl-cd data-idx="10">&nbsp; &nbsp; #mydiv canvas { <span class="tBlue">transform:</span> skew(-15deg); }</cl-cd>
<cl-cd data-idx="11">&nbsp; &nbsp; @keyframes rot { to { <span class="tBlue">transform:</span> rotate(360deg); } }</cl-cd>
<cl-cd data-idx="12">&nbsp; &nbsp; @keyframes swear { to { <span class="tBlue">transform:</span> skew(15deg); } }</cl-cd>
<cl-cd data-idx="13">&lt;<span class="tDarkRed">/style</span>&gt;</cl-cd>
<cl-cd data-idx="14">&nbsp;</cl-cd>
<cl-cd data-idx="15">&lt;<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"mydiv"</span>&gt;</cl-cd>
<cl-cd data-idx="16">&nbsp; &nbsp; &lt;<span class="tDarkRed">audio</span> <span class="tRed">id</span>=<span class="tMagenta">"aud"</span> src=<span class="tMagenta">"https://music.163.com/song/media/outer/url?<span class="tRed">id</span>=1331937276"</span> autoplay loop&gt;&lt;<span class="tDarkRed">/audio</span>&gt;</cl-cd>
<cl-cd data-idx="17">&nbsp; &nbsp; &lt;<span class="tDarkRed">video</span> class=<span class="tMagenta">"vid"</span> src=<span class="tMagenta">"https://img.tukuppt.com/video_show/2269348/00/14/65/5e59d9be359da.mp4"</span> loop muted&gt;&lt;<span class="tDarkRed">/video</span>&gt;</cl-cd>
<cl-cd data-idx="18">&nbsp; &nbsp; &lt;<span class="tDarkRed">video</span> class=<span class="tMagenta">"vid"</span> src=<span class="tMagenta">"https://img.tukuppt.com/video_show/2414777/00/01/68/5b4854b8add7c.mp4"</span> loop muted&gt;&lt;<span class="tDarkRed">/video</span>&gt;</cl-cd>
<cl-cd data-idx="19">&nbsp; &nbsp; &lt;<span class="tDarkRed">img</span> <span class="tRed">id</span>=<span class="tMagenta">"player"</span> src=<span class="tMagenta">"https://638183.freep.cn/638183/t24/leaf/5l.png"</span> alt=<span class="tMagenta">""</span> /&gt;</cl-cd>
<cl-cd data-idx="20">&lt;<span class="tDarkRed">/div</span>&gt;</cl-cd>
<cl-cd data-idx="21">&nbsp;</cl-cd>
<cl-cd data-idx="22">&lt;<span class="tDarkRed">script</span>&gt;</cl-cd>
<cl-cd data-idx="23">&nbsp; &nbsp; <span class="tBlue">var</span> sc = <span class="tRed">document</span>.createElement(<span class="tMagenta">'script'</span>);</cl-cd>
<cl-cd data-idx="24">&nbsp; &nbsp; sc.charset = <span class="tMagenta">'utf-8'</span>;</cl-cd>
<cl-cd data-idx="25">&nbsp; &nbsp; sc.src = <span class="tMagenta">'https://638183.freep.cn/638183/web/js/lzwz.js'</span>;</cl-cd>
<cl-cd data-idx="26">&nbsp; &nbsp; <span class="tRed">document</span>.body.appendChild(sc);</cl-cd>
<cl-cd data-idx="27">&nbsp; &nbsp; <span class="tBlue">var</span> wz = {<span class="tBlue">papa:</span> <span class="tMagenta">'#mydiv'</span>, <span class="tBlue">text:</span> <span class="tMagenta">'MEET YOU'</span>, <span class="tBlue">left:</span> <span class="tMagenta">'620px'</span>, <span class="tBlue">top:</span> <span class="tMagenta">'550px'</span>, <span class="tBlue">color:</span> <span class="tMagenta">'lightblue'</span>};</cl-cd>
<cl-cd data-idx="28">&nbsp; &nbsp; <span class="tBlue">var</span> vids = <span class="tRed">document</span>.querySelectorAll(<span class="tMagenta">'.vid'</span>);</cl-cd>
<cl-cd data-idx="29">&nbsp; &nbsp; <span class="tBlue">var</span> mState = () =&gt; vids.forEach(vid =&gt; aud.paused ?</cl-cd>
<cl-cd data-idx="30">&nbsp; &nbsp; &nbsp; &nbsp; (vid.pause(), mydiv.style.setProperty(<span class="tMagenta">'--state'</span>, <span class="tMagenta">'paused'</span>)) :</cl-cd>
<cl-cd data-idx="31">&nbsp; &nbsp; &nbsp; &nbsp; (vid.play(),mydiv.style.setProperty(<span class="tMagenta">'--state'</span>, <span class="tMagenta">'running'</span>)));</cl-cd>
<cl-cd data-idx="32">&nbsp; &nbsp; aud.onplaying = aud.onpause = () =&gt; mState();</cl-cd>
<cl-cd data-idx="33">&nbsp; &nbsp; player.onclick = () =&gt; aud.paused ? aud.play() : aud.pause();</cl-cd>
<cl-cd data-idx="34">&lt;<span class="tDarkRed">/script</span>&gt;</cl-cd>
</div>

梦油 发表于 2024-4-26 08:15

这幅逆光片子真美。

愤怒的葡萄 发表于 2024-4-26 08:59

非常不错的作品,欣赏了。

朵拉 发表于 2024-4-26 09:17

温馨浪漫的画面,欣赏学习了{:4_190:}

南无月 发表于 2024-4-26 11:15

看完说明贴,发现这个贴子里要学的效果太多。。

厉害了黑大师。。。{:4_199:}

马黑黑 发表于 2024-4-26 11:52

南无月 发表于 2024-4-26 11:15
看完说明贴,发现这个贴子里要学的效果太多。。

厉害了黑大师。。。

CSS的细节还是挺多的

马黑黑 发表于 2024-4-26 11:52

梦油 发表于 2024-4-26 08:15
这幅逆光片子真美。

中午好

马黑黑 发表于 2024-4-26 11:52

愤怒的葡萄 发表于 2024-4-26 08:59
非常不错的作品,欣赏了。

{:4_180:}

马黑黑 发表于 2024-4-26 11:52

朵拉 发表于 2024-4-26 09:17
温馨浪漫的画面,欣赏学习了

{:4_190:}

小辣椒 发表于 2024-4-26 12:56

黑黑,这个标题字也是粒子效果?

南无月 发表于 2024-4-26 12:58

老师的音画浪漫温馨,
小播是动的,两个视频是动的,飞鸟是动的,还有文本化粒子是动的。。
所有动态有条不紊,各自运行。。
如果加上歌词也动。。。。
感觉是将军指挥千军万马。。。{:4_170:}

南无月 发表于 2024-4-26 12:59

马黑黑 发表于 2024-4-26 11:52
CSS的细节还是挺多的

这么多细节完美共存成就此贴。。。
感觉这个精细度,跟修钟表差不多。。{:4_199:}

小辣椒 发表于 2024-4-26 13:01

同样一个图二次上去,会让图片动起来{:4_178:}

南无月 发表于 2024-4-26 13:01

网站内的粒子字体跟这里的不太一样。。
网站内的颜色比较深,且加了透明度,感觉跟背景融合更好。。。{:4_173:}

马黑黑 发表于 2024-4-26 13:57

南无月 发表于 2024-4-26 12:59
这么多细节完美共存成就此贴。。。
感觉这个精细度,跟修钟表差不多。。

那差远了

马黑黑 发表于 2024-4-26 13:58

南无月 发表于 2024-4-26 13:01
网站内的粒子字体跟这里的不太一样。。
网站内的颜色比较深,且加了透明度,感觉跟背景融合更好。。。{:4_ ...

代码是一样的。可能是受到周边颜色的影响

马黑黑 发表于 2024-4-26 13:58

小辣椒 发表于 2024-4-26 13:01
同样一个图二次上去,会让图片动起来

局部

马黑黑 发表于 2024-4-26 13:59

小辣椒 发表于 2024-4-26 12:56
黑黑,这个标题字也是粒子效果?

文字粒子化

红影 发表于 2024-4-26 15:14

黑黑这么快就用粒子文字做成实例帖子了,这个粒子文字真漂亮{:4_199:}
页: [1] 2
查看完整版本: 遇见