天下
本帖最后由 马黑黑 于 2024-3-1 08:38 编辑 <br /><br /><style>#papa { margin: -60px 0 0 calc(50% - 621px); display: grid; place-items: center; width: 1080px; height: 683px; background: url('https://638183.freep.cn/638183/t24/1/tmxx.jpeg') no-repeat center/cover, radial-gradient(black, rgba(255,0,0,.7)); background-blend-mode: screen; box-shadow: 3px 3px 20px #000; overflow: hidden; position: relative; z-index: 1; }
#lrc { position: absolute; left: 15px; bottom: 10px; font: bold 2.4em sans-serif; color: silver; text-shadow: 1px 1px 1px rgba(250,250,250,.75); --ani: lrcGo1; --duration: 1s; }
#lrc::before { position: absolute; content: attr(data-lrc); width: 100%; height: 100%; color: transparent; background: linear-gradient(white, red); background-clip: text; -webkit-background-clip: text; clip-path: inset(0 100% 0 0); animation: var(--ani) var(--duration) linear forwards var(--state); }
#mplayer { position: absolute; right: 10px; bottom: 10px; text-align: center; color: lightblue; }
#mplayer::before { position: absolute; content: attr(data-tt); left: 0; bottom: 25px; width: 100%; text-align-last: justify; }
#mprog { width: 280px; accent-color: pink; outline: none; cursor: pointer; opacity: .7; }
#mprog:focus { accent-color: red; }
#btnplay { width: 50px; height: 50px; cursor: pointer; animation: rotating 6s infinite linear var(--state); }
#btnplay:hover { filter: invert(.2); }
#btnFs { position: absolute; bottom: 10px; color: silver; background: none; opacity: 0; border: 2px solid silver; border-radius: 6px; padding: 4px; transition: all .75s; cursor: pointer; z-index: 100; }
#papa video { position: absolute; bottom: 0; width: 100%; height: calc(100% + 100px); object-fit: cover; mix-blend-mode: soft-light; pointer-events: none; }
@keyframes rotating { to { transform: rotate(360deg); } }
@keyframes lrcGo0 { to { clip-path: inset(0 0 0 0); } }
@keyframes lrcGo1 { to { clip-path: inset(0 0 0 0); } }
@keyframes move { to { offset-distance: 100%; } }
</style>
<div id="papa">
<audio src="https://file.uhsea.com/2402/49740ba0223fc0c66fc5a88f58a9f8c73P.mp3"></audio>
<video src="https://img.tukuppt.com/video_show/2629112/00/02/33/5b581c9b1c300.mp4" muted loop></video>
<video src="https://img.tukuppt.com/video_show/7165162/00/18/80/5ef2f4b952f61.mp4" muted loop></video>
<div id="mplayer" data-tt="0:00 0:00">
<img id="btnplay" src="https://638183.freep.cn/638183/small/hxxb.webp" title="播放/暂停" alt="" /><br>
<input id="mprog" type="range" min="0" max="100" step="any" value="0" title="调节进度" />
</div>
<div id="btnFs">全屏观赏</div>
<div id="lrc" data-lrc="HuaChao LRC">HuaChao LRC</div>
</div>
<script>
var geci = [ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ];
var sF = document.createElement('script');
sF.charset = 'utf-8';
sF.src = 'https://638183.freep.cn/638183/web/js/rangelrc_fs.js';
document.querySelector('body').appendChild(sF);
</script>
欣赏佳作 <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: thin solid gray; 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"><<span class="tDarkRed">style</span>></cl-cd>
<cl-cd data-idx="2"> #papa { <span class="tBlue">margin:</span> 0 0 0 calc(50% - 612px); <span class="tBlue">display:</span> grid; <span class="tBlue">place-items:</span> center; <span class="tBlue">width:</span> 1080px; <span class="tBlue">height:</span> 683px; <span class="tBlue">background:</span> url(<span class="tMagenta">'https://638183.freep.cn/638183/t24/1/tmxx.jpeg'</span>) no-repeat center/cover, radial-gradient(black, rgba(255,0,0,.7)); <span class="tBlue">background-blend-mode:</span> screen; <span class="tBlue">box-shadow:</span> 3px 3px 20px #000; <span class="tBlue">overflow:</span> hidden; <span class="tBlue">position:</span> relative; <span class="tBlue">z-index:</span> 1; }</cl-cd>
<cl-cd data-idx="3"> #lrc { <span class="tBlue">position:</span> absolute; <span class="tBlue">left:</span> 15px; <span class="tBlue">bottom:</span> 10px; <span class="tBlue">font:</span> bold 2.4em sans-serif; <span class="tBlue">color:</span> silver; <span class="tBlue">text-shadow:</span> 1px 1px 1px rgba(250,250,250,.75); <span class="tBlue">--ani:</span> lrcGo1; <span class="tBlue">--duration:</span> 1s; }</cl-cd>
<cl-cd data-idx="4"> #lrc::before { <span class="tBlue">position:</span> absolute; <span class="tBlue">content:</span> attr(data-lrc); <span class="tBlue">width:</span> 100%; <span class="tBlue">height:</span> 100%; <span class="tBlue">color:</span> transparent; <span class="tBlue">background:</span> linear-gradient(white, red); <span class="tBlue">background-clip:</span> text; <span class="tBlue">-webkit-background-clip:</span> text; <span class="tBlue">clip-path:</span> inset(0 100% 0 0); <span class="tBlue">animation:</span> <span class="tBlue">var</span>(--ani) <span class="tBlue">var</span>(--duration) linear forwards <span class="tBlue">var</span>(--state); }</cl-cd>
<cl-cd data-idx="5"> #mplayer { <span class="tBlue">position:</span> absolute; <span class="tBlue">right:</span> 10px; <span class="tBlue">bottom:</span> 10px; <span class="tBlue">text-align:</span> center; <span class="tBlue">color:</span> lightblue; }</cl-cd>
<cl-cd data-idx="6"> #mplayer::before { <span class="tBlue">position:</span> absolute; <span class="tBlue">content:</span> attr(data-tt); <span class="tBlue">left:</span> 0; <span class="tBlue">bottom:</span> 25px; <span class="tBlue">width:</span> 100%; <span class="tBlue">text-align-last:</span> justify; }</cl-cd>
<cl-cd data-idx="7"> #mprog { <span class="tBlue">width:</span> 280px; <span class="tBlue">accent-color:</span> pink; <span class="tBlue">outline:</span> none; <span class="tBlue">cursor:</span> pointer; <span class="tBlue">opacity:</span> .7; }</cl-cd>
<cl-cd data-idx="8"> #<span class="tBlue">mprog:</span>focus { <span class="tBlue">accent-color:</span> red; }</cl-cd>
<cl-cd data-idx="9"> #btnplay { <span class="tBlue">width:</span> 50px; <span class="tBlue">height:</span> 50px; <span class="tBlue">cursor:</span> pointer; <span class="tBlue">animation:</span> rotating 6s infinite linear <span class="tBlue">var</span>(--state); }</cl-cd>
<cl-cd data-idx="10"> #<span class="tBlue">btnplay:</span>hover { <span class="tBlue">filter:</span> invert(.2); }</cl-cd>
<cl-cd data-idx="11"> #btnFs { <span class="tBlue">position:</span> absolute; <span class="tBlue">bottom:</span> 10px; <span class="tBlue">color:</span> silver; <span class="tBlue">background:</span> none; <span class="tBlue">opacity:</span> 0; <span class="tBlue">border:</span> 2px solid silver; <span class="tBlue">border-radius:</span> 6px; <span class="tBlue">padding:</span> 4px; <span class="tBlue">transition:</span> all .75s; <span class="tBlue">cursor:</span> pointer; <span class="tBlue">z-index:</span> 100; }</cl-cd>
<cl-cd data-idx="12"> #papa video { <span class="tBlue">position:</span> absolute; <span class="tBlue">bottom:</span> 0; <span class="tBlue">width:</span> 100%; <span class="tBlue">height:</span> calc(100% + 100px); <span class="tBlue">object-fit:</span> cover; <span class="tBlue">mix-blend-mode:</span> soft-light; <span class="tBlue">pointer-events:</span> none; }</cl-cd>
<cl-cd data-idx="13"> @keyframes rotating { to { <span class="tBlue">transform:</span> rotate(360deg); } }</cl-cd>
<cl-cd data-idx="14"> @keyframes lrcGo0 { to { <span class="tBlue">clip-path:</span> inset(0 0 0 0); } }</cl-cd>
<cl-cd data-idx="15"> @keyframes lrcGo1 { to { <span class="tBlue">clip-path:</span> inset(0 0 0 0); } }</cl-cd>
<cl-cd data-idx="16"> @keyframes move { to { <span class="tBlue">offset-distance:</span> 100%; } }</cl-cd>
<cl-cd data-idx="17"></<span class="tDarkRed">style</span>></cl-cd>
<cl-cd data-idx="18"><br></cl-cd>
<cl-cd data-idx="19"><<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"papa"</span>></cl-cd>
<cl-cd data-idx="20"> <<span class="tDarkRed">audio</span> src=<span class="tMagenta">"https://file.uhsea.com/2402/49740ba0223fc0c66fc5a88f58a9f8c73P.mp3"</span>></<span class="tDarkRed">audio</span>></cl-cd>
<cl-cd data-idx="21"> <<span class="tDarkRed">video</span> src=<span class="tMagenta">"https://img.tukuppt.com/video_show/2629112/00/02/33/5b581c9b1c300.mp4"</span> muted loop></<span class="tDarkRed">video</span>></cl-cd>
<cl-cd data-idx="22"> <<span class="tDarkRed">video</span> src=<span class="tMagenta">"https://img.tukuppt.com/video_show/7165162/00/18/80/5ef2f4b952f61.mp4"</span> muted loop></<span class="tDarkRed">video</span>></cl-cd>
<cl-cd data-idx="23"> <<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"mplayer"</span> data-tt=<span class="tMagenta">"0:00 0:00"</span>></cl-cd>
<cl-cd data-idx="24"> <<span class="tDarkRed">img</span> <span class="tRed">id</span>=<span class="tMagenta">"btnplay"</span> src=<span class="tMagenta">"https://638183.freep.cn/638183/small/hxxb.webp"</span> title=<span class="tMagenta">"播放/暂停"</span> alt=<span class="tMagenta">""</span> /><<span class="tDarkRed">br</span>></cl-cd>
<cl-cd data-idx="25"> <<span class="tDarkRed">input</span> <span class="tRed">id</span>=<span class="tMagenta">"mprog"</span> type=<span class="tMagenta">"range"</span> min=<span class="tMagenta">"0"</span> max=<span class="tMagenta">"100"</span> step=<span class="tMagenta">"any"</span> value=<span class="tMagenta">"0"</span> title=<span class="tMagenta">"调节进度"</span> /></cl-cd>
<cl-cd data-idx="26"> </<span class="tDarkRed">div</span>></cl-cd>
<cl-cd data-idx="27"> <<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"btnFs"</span>>全屏观赏</<span class="tDarkRed">div</span>></cl-cd>
<cl-cd data-idx="28"> <<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"lrc"</span> data-lrc=<span class="tMagenta">"HuaChao LRC"</span>>HuaChao LRC</<span class="tDarkRed">div</span>></cl-cd>
<cl-cd data-idx="29"></<span class="tDarkRed">div</span>></cl-cd>
<cl-cd data-idx="30"><br></cl-cd>
<cl-cd data-idx="31"><<span class="tDarkRed">script</span>></cl-cd>
<cl-cd data-idx="32"> <span class="tBlue">let</span> geci = [ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ];</cl-cd>
<cl-cd data-idx="33"> <span class="tBlue">var</span> sF = <span class="tRed">document</span>.createElement(<span class="tMagenta">'script'</span>);</cl-cd>
<cl-cd data-idx="34"> sF.charset = <span class="tMagenta">'utf-8'</span>;</cl-cd>
<cl-cd data-idx="35"> sF.src = <span class="tMagenta">'https://638183.freep.cn/638183/web/js/rangelrc_fs.js'</span>;</cl-cd>
<cl-cd data-idx="36"> <span class="tRed">document</span>.querySelector(<span class="tMagenta">'body'</span>).appendChild(sF);</cl-cd>
<cl-cd data-idx="37"></<span class="tDarkRed">script</span>></cl-cd>
</div>
33~36行,引用带全屏观赏开关的JS资源,rangelrc_fs.js,该资源文档约定与之前的保姆级教程中的 rangelrc.js 一致,全屏按钮约定 id="btnFs" 。
歌词数组约定变量名为 geci ,花潮格式的lrc歌词制作程序制作后记得改一下变量名。
山里人 发表于 2024-3-1 08:30
欣赏佳作
早 欣赏佳作,张杰不错,我也喜欢听!问好先生! 这个是又有全屏又有歌词的呢,又是一个新的效果,真好{:4_199:} 歌词同步简单的线性渐变,却很好看呢。这两个视频设置得好,全屏时看得更震撼呢{:4_199:} 歌曲也好听,还带几句rap呢,张杰的歌真的很好听{:4_187:} 醉美水芙蓉 发表于 2024-3-1 11:25
欣赏黑黑老师新作品!
{:4_190:} 红影 发表于 2024-3-1 10:21
这个是又有全屏又有歌词的呢,又是一个新的效果,真好
评论后情况怎么样 名作欣赏{:4_174:} 红影 发表于 2024-3-1 10:28
歌曲也好听,还带几句rap呢,张杰的歌真的很好听
师妹能否把那桃花播放器弄清寒代码上? 小文 发表于 2024-3-1 08:46
欣赏佳作,张杰不错,我也喜欢听!问好先生!
{:4_191:} 红影 发表于 2024-3-1 10:28
歌曲也好听,还带几句rap呢,张杰的歌真的很好听
声音中性偏男,和周深比让人觉得自然一些 红影 发表于 2024-3-1 10:26
歌词同步简单的线性渐变,却很好看呢。这两个视频设置得好,全屏时看得更震撼呢
{:4_190:} 樵歌 发表于 2024-3-1 11:37
名作欣赏
{:4_180:} 发现黑黑现在主打加背景视频效果了,一下子2个的 小辣椒以前很少用视频效果,喜欢偷懒直接做个动图,一方面发微信有的人视频看不见,再浏览器打开可以看见视频的,微信直接链接许多人会看不见了