颜色随机的小方块

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

时间: 2024-12-25 07:42:00

颜色随机的小方块的相关文章

百度前端技术学院task35源代码——听指令的小方块3

任务描述 如图,命令输入框由input变为textarea,可以允许输入多条指令,每一行一条 textarea左侧有一列可以显示当前行数的列(代码行数列),列数保持和textarea中一致 当textarea发生上下滚动时,代码行数列同步滚动 能够判断指令是否合法,不合法的指令给出提示(如图) 点击执行时,依次逐条执行所有命令 对于GO,TRA以及MOV指令增加可以移动格子数量的参数,例如 GO 3:向当前方向前进三格 TRA TOP 2:向屏幕上方平移两格 MOV RIG 4:方向转向屏幕右侧

JavaScript实现班级随机点名小应用需求分析

需求如下: 1.      在网页中显示,班级所有人员的名字. 2.      点击开始按钮,人员的颜色开始变化,当停止的时候,会有一个颜色不同的位置,那么这个位置就是被点到的同学了. 大致的图形界面如下: 下面是对上面的需求分析的具体分析如下: 1.      初始化这样一个页面,并设置统一颜色-green. a.      同学的名字,用数组存储 b.      在页面用div块显示 2.      随机选择一个位置让其颜色变化成-red a.      颜色的变化用css样式去控制 b. 

iOS-点击视图,视图背景颜色随机更改

一.效果图 二.代码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.title = @"背景颜色的随机显示"; } //点击视图,视图颜色随机更改 - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent

JavaScript-在当前显示区范围内实现点不到的小方块

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>在当前显示区范围内实现点不到的小方块</title> 6 <style> 7 div{position:fixed;width:50px;height:50px; 8 background-color:pink; 9 } 10 </style> 11 1

听指令的小方块

效果静态图 通过输入指令,修改小方块的方向,使用键盘的上下左右四个键移动小方块. 小方块移动的范围: <div class="box"> <div class="background"> <div class="line00"></div> <div class="line01"></div> <div class="line02"

jfreechart在Linux上出现乱码,小方块解决方案

window环境下出现乱码可能是jfreechart类库版本高.在Linux出现小方块乱码解决方式. 原因: jre缺少中文字库1.以root用户登录到系统,切换到jdk_home/jre/ lib/fonts目录下执行 mkdir fallback 新建一   个目录:2.把simsun.ttc 上传到fallback目录,执行 cp simsun.ttc simsun.ttf 复制一份: 点击simsun.ttc下载地址:http://files.cnblogs.com/jiabaode/s

第八讲:HTML5中canvas实现小球击打小方块游戏

源代码:http://download.csdn.net/detail/liumingm900913/7469969 游戏开发流程: 1.创建画布: 将画布放在div标签里面,这样可以控制画布居中的位置,在对div标签加上一些样式,利于观看 <div id="main"> <!--将画布嵌在div块里面,使其可以居中--> <canvas id="liuming_canvas" width="300px" heigh

Qt文件编程 换行处显示小方块问题【已解决】

使用Qt写一个hex合并程序,遇到了在window下换行显示小方块问题,如下图: 通过查看Qt自带的帮助文档关于openMode的介绍,找到解决办法: 在Qt的文件打开代码中都添加 | QIODevice::Text问题即可解决. 如下:

百度前端学院task33源码及总结——听指令的小方块

任务描述 如图,实现一个类似棋盘的格子空间,每个格子用两个数字可以定位,一个红正方形的DOM在这个空间内,正方形中的蓝色边表示这是他的正面,有一个input输入框 在输入框中允许输入如下指令,按下按钮后,使得正方形做相应动作 GO:向蓝色边所面向的方向前进一格(一格等同于正方形的边长) TUN LEF:向左转(逆时针旋转90度) TUN RIG:向右转(顺时针旋转90度) TUN BAC:向右转(旋转180度) 移动不能超出格子空间 分析: 源代码: <!doctype html> <h