首页 > Web开发 > 详细

使用css实现电子数字效果

时间:2019-08-29 12:20:56      阅读:782      评论:0      收藏:0      [点我收藏+]

在生活中我们看到电子表的显示方式

技术分享图片

现在我们就实现这样的效果,核心就是每个数字构建后再合并,话不多说上代码

html结构

 <div class="light">
     <div class="digits"></div>
 </div>

css结构

/*  The Digits  */
        .light{
            width: 200px;
            background: #f4f5f7;
            height: 60px;
            text-align: center;
        }
        .digits div{
            text-align:left;
            position:relative;
            width: 28px;
            height:50px;
            display:inline-block;
            margin:0 4px;
        }
        .light .digits div span {
            background-color: #272e38;
            border-color: #272e38;
        }

        .digits div span{
            opacity:0;
            position:absolute;
            -webkit-transition:0.25s;
            -moz-transition:0.25s;
            transition:0.25s;
        }
        .digits div span:before,
        .digits div span:after{
            content:‘‘;
            position:absolute;
            width:0;
            height:0;
            border:5px solid transparent;
        }

        .digits .d1{			height:5px;width:16px;top:0;left:6px;}
        .digits .d1:before{	border-width:0 5px 5px 0;border-right-color:inherit;left:-5px;}
        .digits .d1:after{	border-width:0 0 5px 5px;border-left-color:inherit;right:-5px;}

        .digits .d2{			height:5px;width:16px;top:24px;left:6px;}
        .digits .d2:before{	border-width:3px 4px 2px;border-right-color:inherit;left:-8px;}
        .digits .d2:after{	border-width:3px 4px 2px;border-left-color:inherit;right:-8px;}

        .digits .d3{			height:5px;width:16px;top:48px;left:6px;}
        .digits .d3:before{	border-width:5px 5px 0 0;border-right-color:inherit;left:-5px;}
        .digits .d3:after{	border-width:5px 0 0 5px;border-left-color:inherit;right:-5px;}

        .digits .d4{			width:5px;height:14px;top:7px;left:0;}
        .digits .d4:before{	border-width:0 5px 5px 0;border-bottom-color:inherit;top:-5px;}
        .digits .d4:after{	border-width:0 0 5px 5px;border-left-color:inherit;bottom:-5px;}

        .digits .d5{			width:5px;height:14px;top:7px;right:0;}
        .digits .d5:before{	border-width:0 0 5px 5px;border-bottom-color:inherit;top:-5px;}
        .digits .d5:after{	border-width:5px 0 0 5px;border-top-color:inherit;bottom:-5px;}

        .digits .d6{			width:5px;height:14px;top:32px;left:0;}
        .digits .d6:before{	border-width:0 5px 5px 0;border-bottom-color:inherit;top:-5px;}
        .digits .d6:after{	border-width:0 0 5px 5px;border-left-color:inherit;bottom:-5px;}

        .digits .d7{			width:5px;height:14px;top:32px;right:0;}
        .digits .d7:before{	border-width:0 0 5px 5px;border-bottom-color:inherit;top:-5px;}
        .digits .d7:after{	border-width:5px 0 0 5px;border-top-color:inherit;bottom:-5px;}


        /* 1 */
        .digits div.one .d5,
        .digits div.one .d7{
            opacity:1;
        }

        /* 2 */
        .digits div.two .d1,
        .digits div.two .d5,
        .digits div.two .d2,
        .digits div.two .d6,
        .digits div.two .d3{
            opacity:1;
        }

        /* 3 */
        .digits div.three .d1,
        .digits div.three .d5,
        .digits div.three .d2,
        .digits div.three .d7,
        .digits div.three .d3{
            opacity:1;
        }

        /* 4 */
        .digits div.four .d5,
        .digits div.four .d2,
        .digits div.four .d4,
        .digits div.four .d7{
            opacity:1;
        }

        /* 5 */
        .digits div.five .d1,
        .digits div.five .d2,
        .digits div.five .d4,
        .digits div.five .d3,
        .digits div.five .d7{
            opacity:1;
        }

        /* 6 */
        .digits div.six .d1,
        .digits div.six .d2,
        .digits div.six .d4,
        .digits div.six .d3,
        .digits div.six .d6,
        .digits div.six .d7{
            opacity:1;
        }


        /* 7 */
        .digits div.seven .d1,
        .digits div.seven .d5,
        .digits div.seven .d7{
            opacity:1;
        }

        /* 8 */
        .digits div.eight .d1,
        .digits div.eight .d2,
        .digits div.eight .d3,
        .digits div.eight .d4,
        .digits div.eight .d5,
        .digits div.eight .d6,
        .digits div.eight .d7{
            opacity:1;
        }

        /* 9 */
        .digits div.nine .d1,
        .digits div.nine .d2,
        .digits div.nine .d3,
        .digits div.nine .d4,
        .digits div.nine .d5,
        .digits div.nine .d7{
            opacity:1;
        }

        /* 0 */
        .digits div.zero .d1,
        .digits div.zero .d3,
        .digits div.zero .d4,
        .digits div.zero .d5,
        .digits div.zero .d6,
        .digits div.zero .d7{
            opacity:1;
        }

        /* dot */
        .digits div.dot{
            width: 5px;
        }
        .dot:after{
            width: 5px;
            height: 5px;
            content: ‘‘;
            position: absolute;
            left: 0;
            bottom: 0px;
            background-color: #272e38;
        }

js结构动态构建

function clocknum(num) {
       $(‘.digits‘).empty();
       var html = ‘‘;
       var strarr = num.toString().split(‘‘);
       var digit_to_name = ‘zero one two three four five six seven eight nine‘.split(‘ ‘);
       for(var i=0; i<strarr.length; i++){
           if(strarr[i] == ‘.‘){
               html += ‘<div class="dot"></div>‘
           } else {
               var clasname = digit_to_name[strarr[i]];
               html += ‘<div class="‘+clasname+‘">‘ +
                       ‘<span class="d1"></span>‘ +
                       ‘<span class="d2"></span>‘ +
                       ‘<span class="d3"></span>‘ +
                       ‘<span class="d4"></span>‘ +
                       ‘<span class="d5"></span>‘ +
                       ‘<span class="d6"></span>‘ +
                       ‘<span class="d7"></span>‘ +
                   ‘</div>‘;
           }
       }
       $(‘.digits‘).append(html);
   }
clocknum(0.56); //执行

效果图

技术分享图片

使用css实现电子数字效果

原文:https://www.cnblogs.com/xiaolanschool/p/11428852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!