杯子装不下海(预览)
<style>.wrap {
margin: 50px auto 0;
width: 100px;
height: 160px;
background: #ccc linear-gradient(rgba(255,255,255,.35), rgba(255,255,255,.25));
box-shadow: 2px 2px50px rgba(0,0,0,.6);
position: relative;
}
.wrap::before, .wrap::after {
position: absolute;
content: '';
width: 100%;
height: 40px;
left: -1px;
border: 1px solid #eee;
border-radius: 50%;
filter: blur(2px);
}
.wrap::before {
top: -20px;
background: #ddd;
}
.wrap::after {
bottom: -20px;
background: lightblue;
}
.water {
width: inherit;
height: 40px;
border-radius: 50% / 20%;
background: lightblue;
bottom: 0;
position: absolute;
}
.water::before, .water::after { position: absolute; content: ''; }
.water::before {
width: 30px;
height: 8px;
left: calc(50% - 15px);
top: 10px;
border-radius: 50%;
border:1px solid rgba(255,255,255,.55);
opacity: 0;
box-shadow: -2px -2px 10px 0 #eee;
animation: rot 1s .5s linear infinite;
}
.drop {
position: absolute;
width:15px;
height: 15px;
left: calc(50% - 8px);
top: -50px;
border-radius: 80% 0 55% 50% / 55% 0 80% 50%;
background: lightblue;
transform: rotate(-45deg);
animation: drop 1s linear infinite;
}
@keyframes rot { to { opacity: .5; transform: scale(2.5); } }
@keyframes drop { to { top: 140px; } }
@keyframes up { to { height: 180px; } }
</style>
<div class="wrap">
<div class="drop"></div>
<div class="water"></div>
</div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1894212543.mp3" autoplay="autoplay" loop="loop"></audio>
<script>
let aud = document.querySelector('#aud');
let controler = document.querySelector('.wrap');
let prgbox = document.querySelector('.water');
let task, current;
aud.addEventListener('timeupdate', function(){
task = aud.duration;
current = aud.currentTime;
setProgress(task,current);
});
controler.onclick = () =>{ aud.paused ? aud.play() : aud.pause(); };
function setProgress(tt,cc) {
if(tt <= 0 || cc <= 0) return false;
let prog = 100 * cc / tt + 40;
prgbox.style.height =prog + 'px';
}
</script>
谁有兴趣完善一下:
<style>
.wrap {
margin: 50px auto 0;
width: 100px;
height: 160px;
background: #ccc linear-gradient(rgba(255,255,255,.35), rgba(255,255,255,.25));
box-shadow: 2px 2px50px rgba(0,0,0,.6);
position: relative;
}
.wrap::before, .wrap::after {
position: absolute;
content: '';
width: 100%;
height: 40px;
left: -1px;
border: 1px solid #eee;
border-radius: 50%;
filter: blur(2px);
}
.wrap::before {
top: -20px;
background: #ddd;
}
.wrap::after {
bottom: -20px;
background: lightblue;
}
.water {
width: inherit;
height: 40px;
border-radius: 50% / 20%;
background: lightblue;
bottom: 0;
position: absolute;
}
.water::before, .water::after { position: absolute; content: ''; }
.water::before {
width: 30px;
height: 8px;
left: calc(50% - 15px);
top: 10px;
border-radius: 50%;
border:1px solid rgba(255,255,255,.55);
opacity: 0;
box-shadow: -2px -2px 10px 0 #eee;
animation: rot 1s .5s linear infinite;
}
.drop {
position: absolute;
width:15px;
height: 15px;
left: calc(50% - 8px);
top: -50px;
border-radius: 80% 0 55% 50% / 55% 0 80% 50%;
background: lightblue;
transform: rotate(-45deg);
animation: drop 1s linear infinite;
}
@keyframes rot { to { opacity: .5; transform: scale(2.5); } }
@keyframes drop { to { top: 140px; } }
</style>
<div class="wrap">
<div class="drop"></div>
<div class="water"></div>
</div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1894212543.mp3" autoplay="autoplay" loop="loop"></audio>
<script>
let aud = document.querySelector('#aud');
let controler = document.querySelector('.wrap');
let prgbox = document.querySelector('.water');
let task, current;
aud.addEventListener('timeupdate', function(){
task = aud.duration;
current = aud.currentTime;
setProgress(task,current);
});
controler.onclick = () =>{ aud.paused ? aud.play() : aud.pause(); };
function setProgress(tt,cc) {
if(tt <= 0 || cc <= 0) return false;
let prog = 100 * cc / tt + 40;
prgbox.style.height =prog + 'px';
}
</script>
老黑的这个制作有点神秘感呢。挺漂亮的。 这个漂亮 原来是海的高度在逐渐上升。漂亮{:4_187:} 海水和底板貌似有个间隙? 马黑黑 发表于 2022-5-24 07:48
谁有兴趣完善一下:
我们自己去做是做不出来的,怎么可能去完善{:4_189:} 这是啤的!{:5_112:} 几年前,我曾想做一个打油的动态小图标,苦于没有找到合适的资料而告吹。黑黑朋友这个《杯子装不下海》就是很好的素材。 老黑,我根据你这个代码去制作了一个出来,你帮着看看。《落水水》的帖。谢谢! 加林森 发表于 2022-5-24 08:28
老黑的这个制作有点神秘感呢。挺漂亮的。
有些细节还没处理好 绿叶清舟 发表于 2022-5-24 09:21
这个漂亮
杯口需要修改 红影 发表于 2022-5-24 09:27
原来是海的高度在逐渐上升。漂亮
水体上升 红影 发表于 2022-5-24 09:29
海水和底板貌似有个间隙?
这是需要处理的细节之一,貌似无解 红影 发表于 2022-5-24 09:30
我们自己去做是做不出来的,怎么可能去完善
可以修改,修改是可以的 东篱闲人 发表于 2022-5-24 09:33
这是啤的!
鉴定完毕? 梦油 发表于 2022-5-24 10:43
几年前,我曾想做一个打油的动态小图标,苦于没有找到合适的资料而告吹。黑黑朋友这个《杯子装不下海》就是 ...
嗯,把水改成油就可以了 醉美水芙蓉 发表于 2022-5-24 11:29
我们不懂代码,怎么会完善呢?
说说看法也行 加林森 发表于 2022-5-24 11:11
老黑,我根据你这个代码去制作了一个出来,你帮着看看。《落水水》的帖。谢谢!
好的。队长真快