<html>
<head>
<script src="http://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<div class='triangle'></div>
<div class='dot'></div>
</body>
</html>
/* http://imgur.com/a/FywLp#27 */
html {
overflow: hidden;
background: black;
}
/* take side of triangle to be l = 20em */
.triangle {
overflow: hidden;
position: absolute;
top: 50%;
left: 50%;
margin: -10em;
width: 20em; height: 20em;
transform:
/*
* position it such that the centre of
* circumscribed circle is in the middle of
* frame
* this means translating down by
* (1/3)*(l*sqrt(3)/2)
*/
translateY(5.7735em)
/* make sure one vertex points up */
rotate(30deg)
/* get the needed angle */
skewY(30deg)
/* scale on other axis by cos(30deg) */
scaleX(0.86603); /* = sqrt(3)/2 */
}
.triangle:before {
box-sizing: border-box;
position: absolute;
width: 20em; height: 20em;
border-bottom: solid 0.4em #b0b0b0;
transform: /* undo transforms from parent */
scaleX(1.1547)
skewY(-30deg)
rotate(-30deg)
/*
* position it s.t. it goes from middle of
* rhombus up
*/
translateY(-50%);
/* simulate lateral borders with gradients */
background:
linear-gradient(-60deg,
transparent 8.23346em, #b0b0b0 8.06025em)
0 100%,
linear-gradient(60deg,
transparent 8.26025em, #b0b0b0 8.26025em)
100% 100% dimgrey;
background-origin: border-box;
background-repeat: no-repeat;
background-size: 50% 86.66%;
content: "";
}
.dot {
position: absolute;
top: 50%;
left: 50%;
margin: 1.44338em -25em;
width: 0.4em;
height: 0.4em;
border-radius: 50%;
/* the moving dots */
box-shadow: 30.56298em -3.0086em #7f00ff, 30.33199em -3.4087em #0040ff, 30.11202em -3.7897em cyan, 29.9018em -4.1538em #00ff40, 29.70023em -4.50294em #80ff00, 29.50631em -4.83881em #ffbf00, 29.31917em -5.16295em red, 33.06298em -1.67933em #7f00ff, 32.83199em -2.18937em #0040ff, 32.61202em -2.67663em cyan, 32.4018em -3.14373em #00ff40, 32.20023em -3.59301em #80ff00, 32.00631em -4.02651em #ffbf00, 31.81917em -4.44608em red, 35.56298em -0.35005em #7f00ff, 35.33199em -0.97003em #0040ff, 35.11202em -1.56355em cyan, 34.9018em -2.13367em #00ff40, 34.70023em -2.68308em #80ff00, 34.50631em -3.21421em #ffbf00, 34.31917em -3.72922em red, 38.06298em 0.97922em #7f00ff, 37.83199em 0.2493em #0040ff, 37.61202em -0.45048em cyan, 37.4018em -1.1236em #00ff40, 37.20023em -1.77316em #80ff00, 37.00631em -2.40192em #ffbf00, 36.81917em -3.01236em red, 40.56298em 2.3085em #7f00ff, 40.33199em 1.46863em #0040ff, 40.11202em 0.66259em cyan, 39.9018em -0.11354em #00ff40, 39.70023em -0.86323em #80ff00, 39.50631em -1.58962em #ffbf00, 39.31917em -2.29549em red, 43.06298em 3.63777em #7f00ff, 42.83199em 2.68796em #0040ff, 42.61202em 1.77566em cyan, 42.4018em 0.89653em #00ff40, 42.20023em 0.04669em #80ff00, 42.00631em -0.77732em #ffbf00, 41.81917em -1.57863em red, 45.56298em 4.96704em #7f00ff, 45.33199em 3.90729em #0040ff, 45.11202em 2.88873em cyan, 44.9018em 1.90659em #00ff40, 44.70023em 0.95662em #80ff00, 44.50631em 0.03498em #ffbf00, 44.31917em -0.86177em red, 48.06298em 6.29632em #7f00ff, 47.83199em 5.12662em #0040ff, 47.61202em 4.0018em cyan, 47.4018em 2.91666em #00ff40, 47.20023em 1.86654em #80ff00, 47.00631em 0.84728em #ffbf00, 46.81917em -0.1449em red, 20em -4.33013em #7f00ff, 20em -4.33013em #0040ff, 20em -4.33013em cyan, 20em -4.33013em #00ff40, 20em -4.33013em #80ff00, 20em -4.33013em #ffbf00, 20em -4.33013em red, 21.34537em -4.16494em #7f00ff, 21.3165em -4.21495em #0040ff, 21.289em -4.26257em cyan, 21.26273em -4.30809em #00ff40, 21.23753em -4.35173em #80ff00, 21.21329em -4.39371em #ffbf00, 21.1899em -4.43423em red, 22.69075em -3.99974em #7f00ff, 22.633em -4.09977em #0040ff, 22.578em -4.19502em cyan, 22.52545em -4.28605em #00ff40, 22.47506em -4.37333em #80ff00, 22.42658em -4.4573em #ffbf00, 22.37979em -4.53833em red, 24.03612em -3.83455em #7f00ff, 23.9495em -3.98459em #0040ff, 23.86701em -4.12747em cyan, 23.78818em -4.264em #00ff40, 23.71259em -4.39493em #80ff00, 23.63987em -4.52088em #ffbf00, 23.56969em -4.64243em red, 25.38149em -3.66936em #7f00ff, 25.26599em -3.86941em #0040ff, 25.15601em -4.05991em cyan, 25.0509em -4.24196em #00ff40, 24.95011em -4.41653em #80ff00, 24.85315em -4.58447em #ffbf00, 24.75959em -4.74654em red, 26.72687em -3.50417em #7f00ff, 26.58249em -3.75423em #0040ff, 26.44501em -3.99236em cyan, 26.31363em -4.21992em #00ff40, 26.18764em -4.43813em #80ff00, 26.06644em -4.64806em #ffbf00, 25.94948em -4.85064em red, 28.07224em -3.33898em #7f00ff, 27.89899em -3.63905em #0040ff, 27.73401em -3.9248em cyan, 27.57635em -4.19788em #00ff40, 27.42517em -4.45973em #80ff00, 27.27973em -4.71164em #ffbf00, 27.13938em -4.95474em red, 29.41761em -3.17379em #7f00ff, 29.21549em -3.52388em #0040ff, 29.02302em -3.85725em cyan, 28.83908em -4.17584em #00ff40, 28.6627em -4.48134em #80ff00, 28.49302em -4.77523em #ffbf00, 28.32927em -5.05884em red, 0em 0em white, 2.5em -0.54127em white, 5em -1.08253em white, 7.5em -1.6238em white, 10em -2.16506em white, 12.5em -2.70633em white, 15em -3.2476em white, 17.5em -3.78886em white;
animation: ani 1s linear infinite;
}
@keyframes ani {
to {
box-shadow: 33.06298em -1.67933em #7f00ff, 32.83199em -2.18937em #0040ff, 32.61202em -2.67663em cyan, 32.4018em -3.14373em #00ff40, 32.20023em -3.59301em #80ff00, 32.00631em -4.02651em #ffbf00, 31.81917em -4.44608em red, 35.56298em -0.35005em #7f00ff, 35.33199em -0.97003em #0040ff, 35.11202em -1.56355em cyan, 34.9018em -2.13367em #00ff40, 34.70023em -2.68308em #80ff00, 34.50631em -3.21421em #ffbf00, 34.31917em -3.72922em red, 38.06298em 0.97922em #7f00ff, 37.83199em 0.2493em #0040ff, 37.61202em -0.45048em cyan, 37.4018em -1.1236em #00ff40, 37.20023em -1.77316em #80ff00, 37.00631em -2.40192em #ffbf00, 36.81917em -3.01236em red, 40.56298em 2.3085em #7f00ff, 40.33199em 1.46863em #0040ff, 40.11202em 0.66259em cyan, 39.9018em -0.11354em #00ff40, 39.70023em -0.86323em #80ff00, 39.50631em -1.58962em #ffbf00, 39.31917em -2.29549em red, 43.06298em 3.63777em #7f00ff, 42.83199em 2.68796em #0040ff, 42.61202em 1.77566em cyan, 42.4018em 0.89653em #00ff40, 42.20023em 0.04669em #80ff00, 42.00631em -0.77732em #ffbf00, 41.81917em -1.57863em red, 45.56298em 4.96704em #7f00ff, 45.33199em 3.90729em #0040ff, 45.11202em 2.88873em cyan, 44.9018em 1.90659em #00ff40, 44.70023em 0.95662em #80ff00, 44.50631em 0.03498em #ffbf00, 44.31917em -0.86177em red, 48.06298em 6.29632em #7f00ff, 47.83199em 5.12662em #0040ff, 47.61202em 4.0018em cyan, 47.4018em 2.91666em #00ff40, 47.20023em 1.86654em #80ff00, 47.00631em 0.84728em #ffbf00, 46.81917em -0.1449em red, 50.56298em 7.62559em #7f00ff, 50.33199em 6.34595em #0040ff, 50.11202em 5.11488em cyan, 49.9018em 3.92673em #00ff40, 49.70023em 2.77647em #80ff00, 49.50631em 1.65958em #ffbf00, 49.31917em 0.57196em red, 21.14537em -4.16494em #7f00ff, 21.1165em -4.21495em #0040ff, 21.089em -4.26257em cyan, 21.06273em -4.30809em #00ff40, 21.03753em -4.35173em #80ff00, 21.01329em -4.39371em #ffbf00, 20.9899em -4.43423em red, 22.49075em -3.99974em #7f00ff, 22.433em -4.09977em #0040ff, 22.378em -4.19502em cyan, 22.32545em -4.28605em #00ff40, 22.27506em -4.37333em #80ff00, 22.22658em -4.4573em #ffbf00, 22.17979em -4.53833em red, 23.83612em -3.83455em #7f00ff, 23.7495em -3.98459em #0040ff, 23.66701em -4.12747em cyan, 23.58818em -4.264em #00ff40, 23.51259em -4.39493em #80ff00, 23.43987em -4.52088em #ffbf00, 23.36969em -4.64243em red, 25.18149em -3.66936em #7f00ff, 25.06599em -3.86941em #0040ff, 24.95601em -4.05991em cyan, 24.8509em -4.24196em #00ff40, 24.75011em -4.41653em #80ff00, 24.65315em -4.58447em #ffbf00, 24.55959em -4.74654em red, 26.52687em -3.50417em #7f00ff, 26.38249em -3.75423em #0040ff, 26.24501em -3.99236em cyan, 26.11363em -4.21992em #00ff40, 25.98764em -4.43813em #80ff00, 25.86644em -4.64806em #ffbf00, 25.74948em -4.85064em red, 27.87224em -3.33898em #7f00ff, 27.69899em -3.63905em #0040ff, 27.53401em -3.9248em cyan, 27.37635em -4.19788em #00ff40, 27.22517em -4.45973em #80ff00, 27.07973em -4.71164em #ffbf00, 26.93938em -4.95474em red, 29.21761em -3.17379em #7f00ff, 29.01549em -3.52388em #0040ff, 28.82302em -3.85725em cyan, 28.63908em -4.17584em #00ff40, 28.4627em -4.48134em #80ff00, 28.29302em -4.77523em #ffbf00, 28.12927em -5.05884em red, 30.56298em -3.0086em #7f00ff, 30.33199em -3.4087em #0040ff, 30.11202em -3.7897em cyan, 29.9018em -4.1538em #00ff40, 29.70023em -4.50294em #80ff00, 29.50631em -4.83881em #ffbf00, 29.31917em -5.16295em red, 2.5em -0.54127em white, 5em -1.08253em white, 7.5em -1.6238em white, 10em -2.16506em white, 12.5em -2.70633em white, 15em -3.2476em white, 17.5em -3.78886em white, 20em -4.33013em white;
}
}
Output
300px
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |