• 颜色随机的小方块


    用碎片加载小方块实现简单的随机色块,直接上代码,如果你嫌麻烦,可以看demo:http://codepen.io/koringz/pen/QbZEwx

    /**/js注释已删

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta charset="utf-8">
        <title>koringz</title>
        <link rel="stylesheet" href="css/demo.css">
    </head>
    <body>
        <div class="container">
            <div class="main">
                <div class="colorful"></div>
            </div>
        </div>
    </body>
    </html>
    * {
      -webkit-box-sizing: border-box;
         -moz-box-sizing: border-box;
              box-sizing: border-box;
    }
    html {
      font-size: 10px;
      -webkit-tap-highlight-color: transparent;
    }
    body {
      margin: 0;
      padding: 0;
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 14px;
      line-height: 1.42857143;
      color: #333;
      background-color: rgba(211,232,132,0.8);
    }
    .container {
      overflow: visible;
    }
    .main {
      position: relative;
      width: 90%;
      height:200px;
      margin:auto;
    }
    .colorful {
      overflow: visible;
      width: 100%;
      height: 100%;
    }
    
    .colorful > a {
      float: left;
      display: block;
      width: 50px;
      height: 50px;
      zoom:2;
    }
    
    .colorful > a:hover {
      -webkit-animation:infinite 2s ease-in-out start-roll;
      -moz-animation:infinite 2s ease-in-out start-roll;
              animation:infinite 2s ease-in-out start-roll;
    }
    @-webkit-keyframes start-roll{
        0% {
            -webkit-transform: rotate(0deg); /*chrome*/
            -moz-transform: rotate(0deg); /*火狐*/
            -ms-transform: rotate(0deg); /*IE*/
            transform: rotate(0deg);
            -webkit-transition: opacity .3s linear;
            transition: opacity .3s linear;
            opacity: .5;
            filter: alpha(opacity=50);
            zoom:1;
        }
        50% {
            -webkit-transform: rotate(180deg); /*chrome*/
            -moz-transform: rotate(180deg); /*火狐*/
            -ms-transform: rotate(180deg); /*IE*/
            transform: rotate(180deg);
            -webkit-transition: opacity 1s linear;
            transition: opacity 1s linear;
            opacity: 1;
            filter: alpha(opacity=100);
              zoom:2;
        }
        100% {
            -webkit-transform: rotate(360deg); /*chrome*/
            -moz-transform: rotate(360deg); /*火狐*/
            -ms-transform: rotate(360deg); /*IE*/
            transform: rotate(360deg);
            -webkit-transition: opacity .3s linear;
            transition: opacity .3s linear;
            opacity: .5;
            filter: alpha(opacity=50);
            zoom:1;
        }
    }
    @-moz-keyframes start-roll{
        0% {
            -webkit-transform: rotate(0deg); /*chrome*/
            -moz-transform: rotate(0deg); /*火狐*/
            -ms-transform: rotate(0deg); /*IE*/
            transform: rotate(0deg);
            -webkit-transition: opacity .3s linear;
            transition: opacity .3s linear;
            opacity: .5;
            filter: alpha(opacity=50);
        }
        50% {
            -webkit-transform: rotate(180deg); /*chrome*/
            -moz-transform: rotate(180deg); /*火狐*/
            -ms-transform: rotate(180deg); /*IE*/
            transform: rotate(180deg);
            -webkit-transition: opacity 1s linear;
            transition: opacity 1s linear;
            opacity: .5;
            filter: alpha(opacity=50);
        }
        100% {
            -webkit-transform: rotate(360deg); /*chrome*/
            -moz-transform: rotate(360deg); /*火狐*/
            -ms-transform: rotate(360deg); /*IE*/
            transform: rotate(360deg);
            -webkit-transition: opacity .3s linear;
            transition: opacity .3s linear;
            opacity: .5;
            filter: alpha(opacity=50);
        }
    }
    @keyframes start-roll{
        0% {
            -webkit-transform: rotate(0deg); /*chrome*/
            -moz-transform: rotate(0deg); /*火狐*/
            -ms-transform: rotate(0deg); /*IE*/
            transform: rotate(0deg);
            -webkit-transition: opacity .3s linear;
            transition: opacity .3s linear;
            opacity: .5;
            filter: alpha(opacity=50);
        }
        50% {
            -webkit-transform: rotate(180deg); /*chrome*/
            -moz-transform: rotate(180deg); /*火狐*/
            -ms-transform: rotate(180deg); /*IE*/
            transform: rotate(180deg);
            -webkit-transition: opacity 1s linear;
            transition: opacity 1s linear;
            opacity: .5;
            filter: alpha(opacity=50);
        }
        100% {
            -webkit-transform: rotate(360deg); /*chrome*/
            -moz-transform: rotate(360deg); /*火狐*/
            -ms-transform: rotate(360deg); /*IE*/
            transform: rotate(360deg);
            -webkit-transition: opacity .3s linear;
            transition: opacity .3s linear;
            opacity: .5;
            filter: alpha(opacity=50);
        }
    }
    (function (window) {
        var document = window.document;
        function on(elem, evtnm, eventhd) {
            var onevtnm = 'on' + evtnm;
            elem[onevtnm] = eventhd;
        }
        function grc() {
            var val = [], i = 0;
            while (++i <= 3) {
                val.push(Math.floor(Math.random() * 255));
            }
            return 'rgb(' + val.join() + ')';
        }
        function fbc() {
            var el = document.querySelectorAll('.colorful')[0],
                total = Math.floor(el.offsetWidth / 50) * Math.floor(el.offsetHeight / 50),
                df = document.createDocumentFragment(),
                a;
            while (total-- > 0) {
                a = document.createElement('a');
                a.style.backgroundColor = grc();
                df.appendChild(a);
            }
            el.appendChild(df);
        }
        on(window, 'load', function () {
            fbc();
        });
    })(window)

    声明:原本想在@keyframe{}内部添加zoom属性放大,结果效果不显示放大,放外面可以放大,好搜搜了一下没有找到原因。当然其他方法也不是不行。

  • 相关阅读:
    基础总结深入:数据类型的分类和判断(数据、内存、变量) 对象 函数 回调函数 IIFE 函数中的this 分号
    BOM 定时器 通过修改元素的类来改变css JSON
    事件 事件的冒泡 事件的委派 事件的绑定 事件的传播
    DOM修改 使用DOM操作CSS
    包装类 Date Math 字符串的相关的方法 正则表达式 DOM DOM查询
    数组 call()、apply()、bind()的使用 this arguments
    autocad 二次开发 最小包围圆算法
    win10 objectarx向导在 vs2015中不起作用的解决办法
    AutoCad 二次开发 jig操作之标注跟随线移动
    AutoCad 二次开发 文字镜像
  • 原文地址:https://www.cnblogs.com/hao5599/p/4673720.html
Copyright © 2020-2023  润新知