牢笼
本帖最后由 马黑黑 于 2024-3-5 22:56 编辑 <br /><br /><style>#papa { margin: -60px 0 0 calc(50% - 593px); display: grid; place-items: center; width: 1024px; height: 640px; background: url('https://638183.freep.cn/638183/t24/1/lcls.jpg') no-repeat center/cover; box-shadow: 3px 3px 20px #000; overflow: hidden; transition: background-size .75s; position: relative; z-index: 1; }
#papa::before { position: absolute; content: ''; inset: 0; transition: .75s; mix-blend-mode: screen; background: url('https://638183.freep.cn/638183/t24/1/lcls0.jpg') no-repeat center/cover; }
#papa:hover::before { transform: scale(1.2); }
#papa:fullscreen::before { transform: unset; }
#lrc { position: absolute; left: 15px; bottom: 10px; font: bold 2.4em sans-serif; color: lightblue; text-shadow: 1px 1px 1px rgba(0,0,0,.75); --ani: lrcGo1; --duration: 1s; }
#lrc::before { position: absolute; content: attr(data-lrc); width: 100%; height: 100%; color: transparent; text-shadow: none; border-top: 3px dotted transparent; background: linear-gradient(to bottom, white, navy); background-clip: text; -webkit-background-clip: text; -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0); animation: var(--ani) var(--duration) linear forwards var(--state); }
#heart { transform: rotate(30deg) scale(1); opacity: .35; cursor: pointer; z-index: 10; animation: skew .4s infinite alternate var(--state); }
#mplayer { position: absolute; right: 10px; bottom: 10px; text-align: center; color: white; }
#mplayer::before { position: absolute; content: attr(data-tt); left: 0; bottom: 25px; width: 100%; text-align-last: justify; }
#mprog { width: 280px; accent-color: lightblue; outline: none; cursor: pointer; }
#mprog:focus { accent-color: white; }
#btnplay { width: 50px; height: 50px; cursor: pointer; animation: rotating 6s infinite linear var(--state); }
#btnplay:hover { filter: invert(.2); }
#btnFs { position: absolute; left: 52%; bottom: 20px; color: white; background: none; opacity: 0; border: 2px solid white; 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%; } }
@keyframes skew { to { transform: rotate(30deg) scale(1.1); } }
</style>
<div id="papa">
<audio src="https://file.uhsea.com/2403/144f5d343856b1ca1f82fa5bb7c20491C8.mp3"></audio>
<video src="https://img.tukuppt.com/video_show/15653652/01/33/69/62f0d6e506540.mp4" muted loop></video>
<img id="heart" src="https://638183.freep.cn/638183/web/svg/heart.svg" alt="" />
<div id="mplayer" data-tt="0:00 0:00">
<img id="btnplay" src="https://638183.freep.cn/638183/web/svg/flower_1.svg" 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);
heart.onclick = () => btnplay.click();
</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: 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"><<span class="tDarkRed">style</span>></cl-cd>
<cl-cd data-idx="2"> #papa { <span class="tBlue">margin:</span> 0 0 0 calc(50% - 593px); <span class="tBlue">display:</span> grid; <span class="tBlue">place-items:</span> center; <span class="tBlue">width:</span> 1024px; <span class="tBlue">height:</span> 640px; <span class="tBlue">background:</span> url(<span class="tMagenta">'https://638183.freep.cn/638183/t24/1/lcls.jpg'</span>) no-repeat center/cover; <span class="tBlue">box-shadow:</span> 3px 3px 20px #000; <span class="tBlue">overflow:</span> hidden; <span class="tBlue">transition:</span> background-size .75s; <span class="tBlue">position:</span> relative; <span class="tBlue">z-index:</span> 1; }</cl-cd>
<cl-cd data-idx="3"> #papa::before { <span class="tBlue">position:</span> absolute; <span class="tBlue">content:</span> <span class="tMagenta">''</span>; <span class="tBlue">inset:</span> 0; <span class="tBlue">transition:</span> .75s; <span class="tBlue">mix-blend-mode:</span> screen; <span class="tBlue">background:</span> url(<span class="tMagenta">'https://638183.freep.cn/638183/t24/1/lcls0.jpg'</span>) no-repeat center/cover; }</cl-cd>
<cl-cd data-idx="4"> #<span class="tBlue">papa:</span>hover::before { <span class="tBlue">transform:</span> scale(1.2); }</cl-cd>
<cl-cd data-idx="5"> #<span class="tBlue">papa:</span>fullscreen::before { <span class="tBlue">transform:</span> unset; }</cl-cd>
<cl-cd data-idx="6"> #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> lightblue; <span class="tBlue">text-shadow:</span> 1px 1px 1px rgba(0,0,0,.75); <span class="tBlue">--ani:</span> lrcGo1; <span class="tBlue">--duration:</span> 1s; }</cl-cd>
<cl-cd data-idx="7"> #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">text-shadow:</span> none; <span class="tBlue">border-top:</span> 3px dotted transparent; <span class="tBlue">background:</span> linear-gradient(to bottom, white, navy); <span class="tBlue">background-clip:</span> text; <span class="tBlue">-webkit-clip-path:</span> inset(0 100% 0 0); <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="8"> #heart { <span class="tBlue">transform:</span> rotate(30deg) scale(1); <span class="tBlue">opacity:</span> .35; <span class="tBlue">cursor:</span> pointer; <span class="tBlue">z-index:</span> 10; <span class="tBlue">animation:</span> skew .4s infinite alternate <span class="tBlue">var</span>(--state); }</cl-cd>
<cl-cd data-idx="9"> #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> white; }</cl-cd>
<cl-cd data-idx="10"> #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="11"> #mprog { <span class="tBlue">width:</span> 280px; <span class="tBlue">accent-color:</span> lightblue; <span class="tBlue">outline:</span> none; <span class="tBlue">cursor:</span> pointer; }</cl-cd>
<cl-cd data-idx="12"> #<span class="tBlue">mprog:</span>focus { <span class="tBlue">accent-color:</span> white; }</cl-cd>
<cl-cd data-idx="13"> #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="14"> #<span class="tBlue">btnplay:</span>hover { <span class="tBlue">filter:</span> invert(.2); }</cl-cd>
<cl-cd data-idx="15"> #btnFs { <span class="tBlue">position:</span> absolute; <span class="tBlue">left:</span> 52%; <span class="tBlue">bottom:</span> 20px; <span class="tBlue">color:</span> white; <span class="tBlue">background:</span> none; <span class="tBlue">opacity:</span> 0; <span class="tBlue">border:</span> 2px solid white; <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="16"> #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="17"> @keyframes rotating { to { <span class="tBlue">transform:</span> rotate(360deg); } }</cl-cd>
<cl-cd data-idx="18"> @keyframes lrcGo0 { to { <span class="tBlue">clip-path:</span> inset(0 0 0 0); } }</cl-cd>
<cl-cd data-idx="19"> @keyframes lrcGo1 { to { <span class="tBlue">clip-path:</span> inset(0 0 0 0); } }</cl-cd>
<cl-cd data-idx="20"> @keyframes move { to { <span class="tBlue">offset-distance:</span> 100%; } }</cl-cd>
<cl-cd data-idx="21"> @keyframes skew { to { <span class="tBlue">transform:</span> rotate(30deg) scale(1.1); } }</cl-cd>
<cl-cd data-idx="22"><<span class="tDarkRed">/style</span>></cl-cd>
<cl-cd data-idx="23"> </cl-cd>
<cl-cd data-idx="24"><<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"papa"</span>></cl-cd>
<cl-cd data-idx="25"> <<span class="tDarkRed">audio</span> src=<span class="tMagenta">"https://file.uhsea.com/2403/144f5d343856b1ca1f82fa5bb7c20491C8.mp3"</span>><<span class="tDarkRed">/audio</span>></cl-cd>
<cl-cd data-idx="26"> <<span class="tDarkRed">video</span> src=<span class="tMagenta">"https://img.tukuppt.com/video_show/15653652/01/33/69/62f0d6e506540.mp4"</span> muted loop><<span class="tDarkRed">/video</span>></cl-cd>
<cl-cd data-idx="27"> <<span class="tDarkRed">img</span> <span class="tRed">id</span>=<span class="tMagenta">"heart"</span> src=<span class="tMagenta">"https://638183.freep.cn/638183/web/svg/heart.svg"</span> alt=<span class="tMagenta">""</span> /></cl-cd>
<cl-cd data-idx="28"> <<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="29"> <<span class="tDarkRed">img</span> <span class="tRed">id</span>=<span class="tMagenta">"btnplay"</span> src=<span class="tMagenta">"https://638183.freep.cn/638183/web/svg/flower_1.svg"</span> title=<span class="tMagenta">"播放/暂停"</span> alt=<span class="tMagenta">""</span> /><<span class="tDarkRed">br</span>></cl-cd>
<cl-cd data-idx="30"> <<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="31"> <<span class="tDarkRed">/div</span>></cl-cd>
<cl-cd data-idx="32"> <<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="33"> <<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="34"><<span class="tDarkRed">/div</span>></cl-cd>
<cl-cd data-idx="35"> </cl-cd>
<cl-cd data-idx="36"><<span class="tDarkRed">script</span>></cl-cd>
<cl-cd data-idx="37"> <span class="tBlue">let</span> geci = [ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ];</cl-cd>
<cl-cd data-idx="38"> <span class="tBlue">var</span> sF = <span class="tRed">document</span>.createElement(<span class="tMagenta">'script'</span>);</cl-cd>
<cl-cd data-idx="39"> sF.charset = <span class="tMagenta">'utf-8'</span>;</cl-cd>
<cl-cd data-idx="40"> sF.src = <span class="tMagenta">'https://638183.freep.cn/638183/web/js/rangelrc_fs.js'</span>;</cl-cd>
<cl-cd data-idx="41"> <span class="tRed">document</span>.querySelector(<span class="tMagenta">'body'</span>).appendChild(sF);</cl-cd>
<cl-cd data-idx="42"> heart.onclick = () => btnplay.click();</cl-cd>
<cl-cd data-idx="43"><<span class="tDarkRed">/script</span>></cl-cd>
</div>
字幕设计独辟蹊径、与众不同。赞!{:5_116:} 心咋自己跑出来了呢 课掉太多了,svg是啥格式来的 你把别人的心儿都困你牢笼里了,有想法了{:4_189:} 歌词进度用封条了,便于把唱歌的人儿握进度,用心良苦{:4_173:} 梦油 发表于 2024-3-5 14:33
字幕设计独辟蹊径、与众不同。赞!
{:4_190:} 绿叶清舟 发表于 2024-3-5 14:42
课掉太多了,svg是啥格式来的
svg也是用代码写出来的,和HTML差不多,和canvas(画布)很相近,它主要针对图形,按一定规定保存后可以当图片是用。所做图形是矢量级别,随便放大不是真。 樵歌 发表于 2024-3-5 14:43
你把别人的心儿都困你牢笼里了,有想法了
{:4_172:} 樵歌 发表于 2024-3-5 14:45
歌词进度用封条了,便于把唱歌的人儿握进度,用心良苦
{:4_203:} 绿叶清舟 发表于 2024-3-5 14:39
心咋自己跑出来了呢
道理上心是关在笼子里的,是笼子里的自由 背景一似曾相识。背景二图看上去是笼子,不过挺漂亮,五六层的大别墅啊。。。{:4_173:} 跳动的心这么放着,应该叫关心才对。{:4_170:}
创意好,视频和两个背景搭得也好,老师就是色彩大师。。。 南无月 发表于 2024-3-5 17:54
跳动的心这么放着,应该叫关心才对。
创意好,视频和两个背景搭得也好,老师就是色彩大师。。。
关心,这次厉害{:4_170:} 南无月 发表于 2024-3-5 17:52
背景一似曾相识。背景二图看上去是笼子,不过挺漂亮,五六层的大别墅啊。。。
背景一我拿来做过一个倒影演示,但我一下子找不到网盘里的图片,重新上传了一次 马黑黑 发表于 2024-3-5 18:05
关心,这次厉害
看图说话,就是这么直白{:4_173:}厉害的是老师不是。。 马黑黑 发表于 2024-3-5 18:06
背景一我拿来做过一个倒影演示,但我一下子找不到网盘里的图片,重新上传了一次
嗯哪,放了一个穿裙子的女生。。想起来了。。网盘里的图片应该很多,基本要用的时候还是重传比较快些 南无月 发表于 2024-3-5 19:37
嗯哪,放了一个穿裙子的女生。。想起来了。。网盘里的图片应该很多,基本要用的时候还是重传比较快些
有时候不好找。可能是因为命名规则不成体系造成的。 南无月 发表于 2024-3-5 19:34
看图说话,就是这么直白厉害的是老师不是。。
我不厉害,智力一般,情商木有