JSFiddle - React, Tailwind, and code Playground

by ansciath

HTML

<div id="box">
    <div id="foreground-triangle"></div>
    <div id="background-triangle"></div>
</div>

CSS

#box {
    display: block;
    position: absolute;
    width: 200px;
    height: 200px;
    overflow: hidden;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
#foreground-triangle:before, #foreground-triangle:after {
    background-color: red;
}
#box,
#background-triangle:before, #background-triangle:after {
    background-color: silver;
}
#foreground-triangle,
#background-triangle {
    display: block;
    position: absolute;
}
#foreground-triangle {
    width: 100%;
    height: 100%;
    -webkit-transform-origin: right;
    -moz-transform-origin: right;
    -o-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(2);
    -moz-transform: scaleX(2);
    -o-transform: scaleX(2);
    transform: scaleX(2);
}
#background-triangle {
    width: 50%;
    height: 100%;
    -webkit-transform-origin: left;
    -moz-transform-origin: left;
    -o-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0.5);
    -moz-transform: scaleX(0.5);
    -o-transform: scaleX(0.5);
    transform: scaleX(0.5);
}
#foreground-triangle:before, #foreground-triangle:after,
#background-triangle:before, #background-triangle:after {
    display: block;
    position: absolute;
    width: 100%;
    height: 50%;
    content: '';
}
#foreground-triangle:before,
#background-triangle:before {
    top: 0;
    -webkit-transform-origin: left bottom;
    -moz-transform-origin: left bottom;
    -o-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: skewX(45deg);
    -moz-transform: skewX(45deg);
    -o-transform: skewX(45deg);
    transform: skewX(45deg);
}
#foreground-triangle:after,
#background-triangle:after {
    bottom: 0;
    -webkit-transform-origin: left top;
    -moz-transform-origin: left top;
    -o-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: skewX(-45deg);
   ...