Skip to content

Instantly share code, notes, and snippets.

@markbrown4
Last active August 29, 2015 14:05
Show Gist options
  • Save markbrown4/362eb19f92324c986992 to your computer and use it in GitHub Desktop.
Save markbrown4/362eb19f92324c986992 to your computer and use it in GitHub Desktop.
CSS triangles
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>diamonds</title>
<style type="text/css">
#diamonds {
width: 480px;
height: 480px;
margin: 0;
padding: 0;
list-style: none;
}
#diamonds li {
height: 40px;
overflow: hidden;
}
#diamonds b {
float: left;
width: 0;
width: 0;
border: 20px solid;
border-color: #DEDEE4 #E4E4E9 #E4E4E9 #DEDEE4;
transition: .5s;
}
#diamonds b:nth-child(2n) {
border-color: #E4E4E9 #E4E4E9 #DEDEE4 #DEDEE4;
}
#diamonds li:nth-child(2n) b {
border-color: #DEDEE4 #DEDEE4 #E4E4E9 #E4E4E9;
}
#diamonds li:nth-child(2n) b:nth-child(2n) {
border-color: #E4E4E9 #DEDEE4 #DEDEE4 #E4E4E9;
}
#diamonds .br.active {
border-bottom-color: #8a2784 !important;
border-right-color: #8a2784 !important;
transition-delay: 0s;
}
#diamonds .bl.active {
border-bottom-color: #9e2183 !important;
border-left-color: #9e2183 !important;
transition-delay: .2s;
}
#diamonds .tl.active {
border-top-color: #c01881 !important;
border-left-color: #c01881 !important;
transition-delay: .4s;
}
#diamonds .tr.active {
border-top-color: #e00f7f !important;
border-right-color: #e00f7f !important;
transition-delay: .6s;
}
</style>
</head>
<body>
<ul id="diamonds">
<li><b class="br"></b><b class="bl"></b><b></b><b></b><b></b><b></b><b></b><b></b><b></b><b></b><b class="br"></b><b class="bl"></b></li>
<li><b class="tr"></b><b class="tl br"></b><b class="bl"></b><b></b><b></b><b class="br"></b><b class="bl"></b><b></b><b></b><b class="br"></b><b class="bl tr"></b><b class="tl"></b></li>
<li><b></b><b class="tr"></b><b class="tl br"></b><b class="bl"></b><b class="br"></b><b class="bl tr"></b><b class="tl br"></b><b class="bl"></b><b class="br"></b><b class="bl tr"></b><b class="tl"></b><b></b></li>
<li><b></b><b></b><b class="tr"></b><b class="tl br"></b><b class="bl tr"></b><b class="tl"></b><b class="tr"></b><b class="tl br"></b><b class="bl tr"></b><b class="tl"></b><b></b><b></b></li>
<li><b></b><b></b><b class="br"></b><b class="tr bl"></b><b class="tl"></b><b></b><b></b><b class="tr"></b><b class="tl br"></b><b class="bl"></b><b></b><b></b></li>
<li><b></b><b class="br"></b><b class="tr bl"></b><b class="tl"></b><b></b><b class="br s1"></b><b class="bl"></b><b></b><b class="tr"></b><b class="tl br"></b><b class="bl"></b><b></b></li>
<li><b></b><b class="tr"></b><b class="tl br"></b><b class="bl"></b><b></b><b class="tr s1"></b><b class="tl"></b><b></b><b class="br"></b><b class="tr bl"></b><b class="tl"></b><b></b></li>
<li><b></b><b></b><b class="tr"></b><b class="tl br"></b><b class="bl"></b><b></b><b></b><b class="br"></b><b class="bl tr"></b><b class="tl"></b><b></b><b></b></li>
<li><b></b><b></b><b class="br"></b><b class="tr bl"></b><b class="tl br"></b><b class="bl"></b><b class="br"></b><b class="bl tr"></b><b class="tl br"></b><b class="bl"></b><b></b><b></b></li>
<li><b></b><b class="br"></b><b class="tr bl"></b><b class="tl"></b><b class="tr"></b><b class="tl br"></b><b class="bl tr"></b><b class="tl"></b><b class="tr"></b><b class="tl br"></b><b class="bl"></b><b></b></li>
<li><b class="br"></b><b class="tr bl"></b><b class="tl"></b><b></b><b></b><b class="tr"></b><b class="tl"></b><b></b><b></b><b class="tr"></b><b class="tl br"></b><b class="bl"></b></li>
<li><b class="tr"></b><b class="tl"></b><b></b><b></b><b></b><b></b><b></b><b></b><b></b><b></b><b class="tr"></b><b class="tl"></b></li>
</ul>
<script type="text/javascript">
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex ;
while (0 !== currentIndex) {
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
var points = shuffle([].slice.call(document.querySelectorAll('.tr, .tl, .br, .bl')));
var timer = setInterval(function() {
point = points.pop();
point.classList.add('active');
if (points.length == 0) {
clearInterval(timer);
}
}, 50);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment