CSS3制作迷你播放器面板
发布于
大漠
这是格子同学提供的一款由CSS3制作的迷你播放器面板的案例(时间效果是由jQuery完成)。这个案例仿Mac电脑的窗口风格设计,整个面板分成三部分,顶部由标题和最小化、最大化以及关闭按钮组成(这三个按钮功能未添加);中间部分类似于播放器一样,左边是播放的按钮(播放、中止和停止)三个组成,以及播放时间的计算(时间效果由jQuery完成);最底下部分是整个时间的统计文本。整体效果清爽,设计层次清晰。当然大家关注的还是使用了什么技术,这里我们仅仅面板效果来说的话,并不复杂,只使用了CSS3的圆角、阴影、渐变和@font-face几个简单的属性,感兴趣的话继续往下看代码吧。
HTML结构
接下来我们先来看看其使用的结构
< div class="box">
< div class="boxt">
< span class="fr minitxt"> Mini Player< /span>
< span class="circle">
< em class="close"> < /em>
< em class="max"> < /em>
< em class="min"> < /em>
< /span>
< /div>
< div class="boxm">
< div class="boxml">
< a class="btn pause" id="controlBtn"> on< /a>
< a class="btn stop" id="stopBtn"> stop< /a>
< /div>
< div class="boxmr">
< div class="taketime" id="takeTime"> 00:00:00< /div>
< span> HOUR< /span>
< span> MIN< /span>
< span> SEC< /span>
< /div>
< /div>
< div class="boxb">
< span class="fr" id="totalTime"> 01:22:30< /span>
< span> Totel time< /span>
< /div>
< /div>
CSS代码
结构我们就不多说了,大家还是看样式吧,详细的请看里面注解:
body{
padding:0;
margin:0;
background:#cbd4da;
font-size:12px;
}
/*播放器面板容器*/
.box{
width:320px;
margin:100px auto;
background:#fff;
border:solid 1px #979797;
border-radius:6px;/*制作圆角*/
box-shadow:0 0 5px 6px rgba(0,0,0,0.05);/*面板阴影*/
}
/*播放器面板头部*/
.boxt{
height:40px;
line-height:40px;
padding:0 16px;
}
.boxt .minitxt{
font-size:bold 14px Arial;
color:#7e97ab;
}
/*播放器面板左边按钮(仿mac窗口按钮效果)*/
.boxt .circle em{
display:inline-block;
background:#e4e4e4;
border:solid 1px #c7c9cb;
border-radius:8px;
width:12px;
height:12px;
margin-right:8px;
border:none;
border-radius:6px;
cursor: pointer;
}
/*关闭面板按钮*/
.boxt .circle .close{
box-shadow:inset 0px 1px 1px rgba(83,11,8,.5);
background:-*-radial-gradient(top center, circle, #fff, #af2b24, #ec8e89);
}
/*面板最大化按钮*/
.boxt .circle .max{
box-shadow:inset 0px 1px 1px rgba(117,38,27,.5);
background:-*-radial-gradient(top center, circle, #fff, #ce712d, #fcdf7d);
}
/*面板最小化按钮*/
.boxt .circle .min{
box-shadow:inset 0px 1px 1px rgba(34,75,15,.5);
background:-*-radial-gradient(top center, circle, #fff, #74a94e, #bbdd83);
}
/*面板中间内容*/
.boxm{
border:solid 1px #dedede;
border-width:1px 0;
padding:20px 16px;
overflow:hidden;
}
/*面板播放按钮*/
.boxm .boxml{
float:left;
padding-top:5px;
}
/*面板控制按钮基本样式*/
.boxm .boxml .btn{
display:inline-block;
width:45px;
height:40px;
padding-top:5px;
border:none;
border-radius:25px;
text-align:center;
font-size:0;cursor:pointer;
box-shadow:inset 0 1px 1px rgba(100,100,100,.3);
background:-*-linear-gradient(top,#e6e6e6,#f2f1f1);
}
/*font face 制作icon*/
@font-face{
font-family:"playericon";
src:url(font/fontello.eot);
src:url(font/fontello.eot#iefix) format("embedded-opentype"),
url(font/fontello.woff) format("woff"),
url(font/fontello.ttf) format("truetype"),
url(font/fontello.svg) format("svg");
font-weight:normal;
font-style:normal;
}
.btn:after{
font-family:"playericon";
display:inline-block;
width:35px;
height:35px;
border:none;
border-radius:20px;
font-size:18px;
line-height:35px;
text-align:center;
box-shadow:inset 0 -1px 0 rgba(0,0,0,.4);
background:-*-linear-gradient(top,#fff,#e9e9e9);
}
/*播放icon*/
.on:after{
content:"\25B6";
color:#475057;
}
/*停止icon*/
.stop:after{
content:"\25A0";
color:#cf6767;
}
/*中止icon*/
.pause:after{
content:"\2389";
color:#475057;
}
.btn:hover:after{
color:#19a6e4;
box-shadow:0 -1px 0px 1px #ccc;
}
/*面板时间部分*/
.boxm .boxmr{
font-family:Arial;
color:#666;
text-align:right;
overflow: hidden;
}
.boxm .taketime{
font-size:30px;
}
.boxm span{
display:inline-block;
padding:0 10px;
font-size:9px;
-webkit-text-size-adjust:none;
}
/*面板底部样式*/
.boxb{
height:40px;
line-height:40px;
padding:0 16px;
border-top:solid 1px #fff;
background:#eee;
font-size:14px;
font-family:Arial;
color:#999;
border-radius:6px;
}
.fr{float:right;}
到这里我们就制作出一个迷你播放器面板了,可能大家会说,怎么时间不出会来呢?那是demo中添加了jq代码实现的时间效果,如果你感兴趣,可以查看代码源码。这里不介绍jQuery代码实现过程。当然大家也可以进入这里查看
如需转载,烦请注明出处:https://www.fedev.cn/demo/css3-create-mini-player.html
air max 90 essential grey