这个效果是一个CSS3制作的时钟,不过并不是我们传统的时钟风格,分别用三块显示时、分、秒三个部分,而且这个DEMO中为其加上了一个js的效果,能让这个效果和现实时钟的时间同步。这个效果运用到的CSS3知识点就是渐变、阴影,而最为关键的就是CSS3的渐变制作。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>精美的圆形按钮效果</title>
<style>
body,ul,li{
  padding: 0;
  margin:0;
}
a {
  color: rgb(1, 124, 185);
  text-decoration: none;
}
body{
  font-size:16px;
  color: #5a5d63;
  background: #d6d7d9;
  background: -webkit-radial-gradient(#eeefef, #d6d7d9);
  background: -moz-radial-gradient(#eeefef, #d6d7d9);
  background: -o-radial-gradient(#eeefef, #d6d7d9);
  background: -ms-radial-gradient(#eeefef, #d6d7d9);
  radial-gradient(#eeefef, #d6d7d9);
  padding: 50px;
}
.box{
  width: 540px;
  height: 200px;
  margin: 50px auto;
}
.box li{
  position: relative;
  text-align: center;
  list-style-type: none;
  display: inline-block;
  width: 150px;
  height:160px;
  text-shadow:0 2px 1px #f4f4f4; 
  border:1px solid #9fa2ad;
  border-radius: 5px;
  margin-right:10px;
  background: -webkit-gradient(linear,0 0, 0 100%,
    color-stop(.2,rgba(248,248,248,.3)),
    color-stop(.5,rgba(168,173,190,.5)),
    color-stop(.51,rgba(168,173,190,.3)),
    color-stop(.9,rgba(248,248,248,.2)));
  background: -webkit-linear-gradient(top,rgba(248,248,248,.3) 20%,rgba(168,173,190,.5) 50%,    rgba(168,173,190,.3) 51%,rgba(248,248,248,.2) 90%);    
  background: -moz-linear-gradient(top,    rgba(248,248,248,.3) 20%,rgba(168,173,190,.5) 50%,    rgba(168,173,190,.3) 51%,rgba(248,248,248,.2) 90%);    
  background: -o-linear-gradient(top,rgba(248,248,248,.3) 20%,rgba(168,173,190,.5) 50%,    rgba(168,173,190,.3) 51%,rgba(248,248,248,.2) 90%);    
  background: -ms-linear-gradient(top,    rgba(248,248,248,.3) 20%,rgba(168,173,190,.5) 50%,rgba(168,173,190,.3) 51%,rgba(248,248,248,.2) 90%);    
  linear-gradient(top,rgba(248,248,248,.3 ) 20%,rgba(168,173,190,.5) 50%,rgba(168,173,190,.3) 51%,rgba(248,248,248,.2) 90%);    
  box-shadow:inset 0 -2px 0 #f1f1f1,0 1px 0 #f1f1f1,0 2px 0 #9fa2ad,0 3px 0 #f1f1f1,0 4px 0 #9fa2ad;
}
.box li:before,
.box li:after{
  display: block;
  content: "";
  position: absolute;
  width: 150px;
}
.box li:before{
  top:50%;
  height: 1px;
  box-shadow: 0 1px 0 #868995,0 2px 1px #fff;
}
.box li:after{
  bottom: -65px; 
  height: 60px;
  border-radius:0 0 5px 5px;
  background: -webkit-gradient(linear,0 0,0 100%,from(rgba(0,0,0,.1)),to(rgba(0,0,0,0)));
  background: -webkit-linear-gradient(top,rgba(0,0,0,.1),rgba(0,0,0,0));
  background: -moz-linear-gradient(top,rgba(0,0,0,.1),rgba(0,0,0,0));
  background: -o-linear-gradient(top,rgba(0,0,0,.1),rgba(0,0,0,0));
  background: -ms-linear-gradient(top,rgba(0,0,0,.1),rgba(0,0,0,0));
  linear-gradient(top,rgba(0,0,0,.1),rgba(0,0,0,0));
  z-index: 1
}
.box li span:first-child{
  font:120px 'BitstreamVeraSansMonoBold';
  color: #52555a;
  display: block;
  height: 130px;
  line-height: 150px;
}
@font-face {
  font-family: 'BitstreamVeraSansMonoBold';
  url('VeraMono-Bold-webfont.eot');
  url('VeraMono-Bold-webfont.eot?#iefix' ) format('embedded-opentype'),
       url('VeraMono-Bold-webfont.woff') format('woff'),
       url('VeraMono-Bold-webfont.ttf') format('truetype'),
       url('VeraMono-Bold-webfont.svg#BitstreamVeraSansMonoBold') format('svg');
  font-weight: normal;
  font-style: normal;
}
</style>

</head>
<body>
<div class="box">
  <ul>
    <li><span id="hour"></span><span>时</span></li>
    <li><span id="minute"></span><span>分</span></li>
    <li><span id="second"></span><span>秒</span></li>
  </ul>
</div>
<script>
var hour=document.getElementById('hour');
var minute=document.getElementById('minute');
var second=document.getElementById('second');

function showTime(){

  var oDate=new Date();
  var iHours=oDate.getHours();
  var iMinute=oDate.getMinutes();
  var iSecond=oDate.getSeconds();

  hour.innerHTML=AddZero(iHours);
  minute.innerHTML=AddZero(iMinute);
  second.innerHTML=AddZero(iSecond);
   
}

showTime();

setInterval(showTime,1000);

function AddZero(n){

  if(n<10){

    return '0'+n;
   
  }
   
   return ''+n;
}
</script>


</body>
</html>