• 模拟进度条发现的彩蛋


      在模拟实现一个进度条的时候,首先想到的方法是控制width(横着的进度条),height(竖着的进度条)。

      我在这么做的时候遇到了一个问题。高度总是从下到上变换的。如果是倒着来的进度条就不好实现。宽度总是从左到右变话的。如果从右到左也遇到了问题。

      解决方法如下,设定一个relative的框,内部设定一个 absolute的框来实现进度条,进度条的初始位置根据top,left,bottom,right四个值来确定。

      

    <div class="cont">
            <div class="relative fl box">
                <div class="ctx top"></div>
            </div>
            <div class="relative fr box">
                <div class="ctx bottom"></div>
            </div>
        </div>
        <button id="first">第一个div</button>
        <button id="second">第二个div</button>
        <button class="reset">reset</button>
        <div class="cont">
            <div class="relative bar">
                <div class="progress left"></div>
            </div>
            <div class="relative bar">
                <div class="progress right"></div>
            </div>
        </div>
        <button id="third">第一个div</button>
        <button id="fourth">第二个div</button>
        <button class="reset">reset</button>

      通过transition来实现过渡效果

      

    .cont{
                width:600px;
                overflow: hidden;
            }
            .relative{
                position: relative;
            }
            .box{
                width:250px;
                height:300px;
            }
            .fl{
                float:left;
            }
            .fr{
                float:right;
            }
            .ctx{
                background-color: #FFF000;
                position: absolute;
                width:100%;
                height:0;
                left:0;
                transition: height .8s linear;
                -webkit-transition: height .8s linear;
            }
            button{
                margin-right: 10px;
                margin-top: 10px;
            }
            .top{
                top:0;
            }
            .bottom{
                bottom:0;
            }
            .left{
                left:0;
            }
            .right{
                right: 0;
            }
            .progress{
                background-color: #FF0000;
                position: absolute;
                width:0%;
                height:100%;
                -webkit-transition: width .8s linear;
                transition: width .8s linear;
            }
            .bar{
                height:30px;
                margin-top: 20px;
            }

        效果如下,demo地址,还不会使用cnblogs的demo示例。http://csywweb.github.io/i/1/index.html

  • 相关阅读:
    android 布局中的单位及分辨率自解
    7种例子讲解Android Dialog!
    jqDnR 层拖动插件 潇湘博客
    jQuery选择器热榜
    左边补0 php 潇湘博客
    Javascript代码压缩、加密算法的破解分析及工具实现
    discuz 整合总结
    js 格式化 潇湘博客
    Linux内核网络协议栈深入分析(五)套接字的绑定、监听、连接和断开
    Linux内核基于Netfilter的内核级包过滤防火墙实现
  • 原文地址:https://www.cnblogs.com/xjcjcsy/p/5288490.html
Copyright © 2020-2023  润新知