zoukankan      html  css  js  c++  java
  • 颜色随机的小方块

    用碎片加载小方块实现简单的随机色块,直接上代码,如果你嫌麻烦,可以看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属性放大,结果效果不显示放大,放外面可以放大,好搜搜了一下没有找到原因。当然其他方法也不是不行。

  • 相关阅读:
    Ajax
    PS将图标变灰
    圆角
    前端性能优化最佳实践(转)
    jquery $(document).ready() 与window.onload的区别
    js阻止冒泡及jquery阻止事件冒泡示例介绍
    CSS选择器、CSS hack及CSS执行效率
    Github快速入门手册
    Windows 系统下Git安装图解
    史上最全github使用方法:github入门到精通
  • 原文地址:https://www.cnblogs.com/hao5599/p/4673720.html
Copyright © 2011-2022 走看看