【漫步特效】鼠绘手表北京时间/CSS代码编辑
<style>#mydiv {
margin: 160px 0 30px calc(50% - 700px);
display: grid;
place-items: center;
width: 1200px;
height: 700px;
background: lightblue url('https://644220.freep.cn/644220/4/tr8.png') no-repeat center/cover;
box-shadow: 3px 3px 20px #000;
user-select: none;
overflow: hidden;
position: relative;
z-index: 1;
}
#vid {
position: absolute;
width: 130%;
height: 130%;
object-fit: cover;
pointer-events: none;
mix-blend-mode: screen;
mask: linear-gradient(to top right, red 88%, transparent 0);
-webkit-mask: linear-gradient(to top right, red 88%, transparent 0);
z-index: 6;
opacity: .25;
}
#character-img {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
pointer-events: none;
z-index: 10;
}
#clock {
position: absolute;
top: 52%;
left: 43%;
width: 340px;
height: 340px;
transform: translate(-50%, -50%);
border-radius: 50%;
background: transparent;
border: none;
box-shadow: none;
z-index: 20;
margin: 0;
padding: 0;
}
#clock-video {
position: absolute;
top: 52%;
left: 43%;
width: 366px;
height: 366px;
transform: translate(-50%, -50%);
border-radius: 50%;
object-fit: cover;
pointer-events: none;
opacity: 0.65;
z-index: 18;
}
#clock-center {
position: absolute;
top: 50%;
left: 50%;
width: 12px;
height: 12px;
background: #222;
border-radius: 50%;
transform: translate(-50%, -50%);
box-shadow: 0 0 3px rgba(0,0,0,0.6);
z-index: 30;
}
#hour, #minute, #second {
position: absolute;
top: 50%;
left: 50%;
transform-origin: center bottom;
transform: translateX(-50%) translateY(-100%) rotate(0deg);
margin: 0;
padding: 0;
}
#hour {
width: 8px;
height: 26%;
background: #222;
border-radius: 4px 4px 0 0;
z-index: 25;
}
#hour::after {
content: '';
position: absolute;
top: -6px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 10px solid #222;
}
#minute {
width: 5px;
height: 42%;
background: #333;
border-radius: 3px 3px 0 0;
z-index: 26;
}
#minute::after {
content: '';
position: absolute;
top: -5px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 9px solid #333;
}
#second {
width: 2px;
height: 48%;
background: #e63946;
border-radius: 1px 1px 0 0;
z-index: 27;
}
#second::after {
content: '';
position: absolute;
top: -4px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 3px solid transparent;
border-right: 3px solid transparent;
border-bottom: 7px solid #e63946;
}
.clock-number {
position: absolute;
width: 100%;
height: 100%;
text-align: center;
font-size: 28px;
font-weight: 900;
color: #ffffff;
text-shadow: 1px 1px 4px #000, 0 0 3px #000;
transform: rotate(calc(var(--n) * 30deg));
z-index: 22;
}
.clock-number span {
display: inline-block;
transform: rotate(calc(var(--n) * -30deg));
width: 40px;
height: 40px;
line-height: 40px;
}
#time-text {
display:none;
}
#datetime-show{
position:absolute;
top:55px;
left:62%;
transform:translateX(-50%);
font-size:19px;
color:#fff;
text-shadow:1px 1px 5px #000,0 0 4px #000;
z-index:99;
letter-spacing:1px;
pointer-events:none;
}
</style>
<div id="mydiv">
<video id="vid" src="https://img2.tukuppt.com/video_show/2475824/00/07/99/5d149ee9eae95.mp4" autoplay loop muted=""></video>
<div id="datetime-show">
<span id="ymd"></span>
<span id="week0" style="display:none">星期日</span>
<span id="week1" style="display:none">星期一</span>
<span id="week2" style="display:none">星期二</span>
<span id="week3" style="display:none">星期三</span>
<span id="week4" style="display:none">星期四</span>
<span id="week5" style="display:none">星期五</span>
<span id="week6" style="display:none">星期六</span>
<span id="hms"></span>
</div>
<video id="clock-video" src="https://i.uik.cc/view.php/df9367c7a6d088f57975e3f40e158d3a.mp4" autoplay loop></video>
<div id="clock">
<div id="clock-center"></div>
<div class="clock-number" style="--n: 0"><span>12</span></div>
<div class="clock-number" style="--n: 1"><span>1</span></div>
<div class="clock-number" style="--n: 2"><span>2</span></div>
<div class="clock-number" style="--n: 3"><span>3</span></div>
<div class="clock-number" style="--n: 4"><span>4</span></div>
<div class="clock-number" style="--n: 5"><span>5</span></div>
<div class="clock-number" style="--n: 6"><span>6</span></div>
<div class="clock-number" style="--n: 7"><span>7</span></div>
<div class="clock-number" style="--n: 8"><span>8</span></div>
<div class="clock-number" style="--n: 9"><span>9</span></div>
<div class="clock-number" style="--n: 10"><span>10</span></div>
<div class="clock-number" style="--n: 11"><span>11</span></div>
<div id="hour"></div>
<div id="minute"></div>
<div id="second"></div>
</div>
<audio id="aud" src="https://ting8.yymp3.com/new27/wangyixin//1.mp3" autoplay loop>
<img id="character-img" src="https://644220.freep.cn/644220/w/1UH.png" alt="">
</div>
<script>
function updateClock() {
const now = new Date();
let hours = now.getHours();
const minutes = now.getMinutes();
const seconds = now.getSeconds();
const w = now.getDay();
const secondDeg = seconds * 6;
const minuteDeg = minutes * 6 + seconds * 0.1;
const hourDeg = (hours % 12) * 30 + minutes * 0.5;
document.getElementById('hour').style.transform = `translateX(-50%) translateY(-100%) rotate(${hourDeg}deg)`;
document.getElementById('minute').style.transform = `translateX(-50%) translateY(-100%) rotate(${minuteDeg}deg)`;
document.getElementById('second').style.transform = `translateX(-50%) translateY(-100%) rotate(${secondDeg}deg)`;
const year = now.getFullYear();
const month = String(now.getMonth()+1).padStart(2,'0');
const day = String(now.getDate()).padStart(2,'0');
const hh = String(hours).padStart(2,'0');
const mm = String(minutes).padStart(2,'0');
const ss = String(seconds).padStart(2,'0');
document.getElementById('ymd').innerText = year+"年"+month+"月"+day+"日 ";
document.getElementById('hms').innerText = " "+hh+":"+mm+":"+ss;
for(let i=0;i<=6;i++){
document.getElementById('week'+i).style.display = "none";
}
document.getElementById('week'+w).style.display = "inline";
}
updateClock();
setInterval(updateClock, 1000);
</script> @素心 在十多年前我曾制作过FLASH多种时钟与手表,记得在云荷也发表过,但现在浏览器不断更新,
现代浏览器不支持FLASH插件,此手表用CSS代码编辑完全支持现代浏览器。
@ 姚云裳
还是鼠绘的,漫步同学会的东西可是俱全了,这样的表现形式,还真的是挺独特的,{:1_150:} 视频效果放入表里,随着时间的走动,也代表了一个时代的变迁,寓意真好 素心 发表于 2026-7-25 19:06
还是鼠绘的,漫步同学会的东西可是俱全了,这样的表现形式,还真的是挺独特的, ...
素心 同学来了哈,呵呵我是图痴,;P业余就爱玩这些,什么JS特效、html特效、CSS特效、FLASH特效,Java特效,插件特效、代码特效等。我喜欢运用各种效果相互配合组成的音画。 FLASH时钟、手表还有挂种,漫步老师很久以前有发表过,不过帖子都失效了~~ 素心 发表于 2026-7-25 19:09
视频效果放入表里,随着时间的走动,也代表了一个时代的变迁,寓意真好
说的好,时光缓缓流转,带走旧岁光景,也铺开新的篇章。
岁月更迭便是时代无声的答卷,所有变迁都藏着独属于时光的深意。
绿蔷薇 发表于 2026-7-25 19:53
FLASH时钟、手表还有挂种,漫步老师很久以前有发表过,不过帖子都失效了~~
蔷薇好这个表是CSS代码编辑的 鼠绘手表很逼真,带着金属的质感
视频嵌入手表玻璃面太巧妙了
标题文字编排简约又好看~~~
云端漫步 发表于 2026-7-25 19:56
蔷薇好这个表是CSS代码编辑的
是哒,所以这帖能看到~~{:1_234:}