html,body{
  overflow:hidden;
}

td{
  width:10vmin;
  height:10vmin;
  border:1px dotted #888;
  background-color:#666;
  box-sizing:border-box;
}

#area{
  position:relative;
  top:0;
  left:0;
  width:100vmin;
  height:100vmin;
  margin:0 auto;
}
#demo i{
  position:absolute;
  width:10vmin;
  height:10vmin;
  user-select:none;
}
.v0{
  background-color:#111;
}
.v1{
  background-color:#eee;
}
.v2{
  background-color:#00f;
}
.v3{
  background-color:#00f;
}
.v4{
  background-color:#a00;
}
#demo i:hover{
  background-color:#ccc;
  cursor:pointer;
}
#demo i img{
  width:60%;
  height:40%;
  margin:30% 20%;
  transform-origin: 50% 50%;
}