I can do a diamond, and I can do stripes with CSS. I'm having issues merging the two to get a striped diamond. Please see my fiddle (works on Chrome).
How can I make a striped diamond?
#diamond {
width: 0;
height: 0;
border: 80px solid transparent;
border-bottom: 40px solid red;
position: relative;
top: -80px
}
#diamond:after {
content:'';
position: absolute;
left: -80px;
top: 40px;
width: 0;
height: 0;
border: 80px solid transparent;
border-top: 40px solid red;
}
.stripes {
height: 80px;
width: 160px;
background-size: 4px;
background-color: red;
background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, rgba(255, 255, 255, 1)), color-stop(.5, transparent), to(transparent));
}
You can actually do it with just 1 element and less CSS:
The HTML is simply <div class='diamond'></div>
Relevant CSS:
.diamond {
overflow: hidden;
position: relative;
padding: 20%;
width: 0;
transform: rotate(-30deg) skewX(30deg) scaleY(.866);
}
.diamond:before {
position: absolute;
top: 0%; right: -37.5%; bottom: 0; left: -37.5%;
transform: scaleY(1.155) skewX(-30deg) rotate(30deg);
background: linear-gradient(90deg, crimson 50%, transparent 50%);
background-size: 6px;
content: ''
}
CSS striped diamond using the code you have given: http://jsfiddle.net/r3PNs/5/
HTML:
<div id="diamond"></div>
<div class="stripes" style=""></div>
CSS:
#diamond {
width: 0;
height: 0;
border: 80px solid transparent;
border-bottom: 40px solid red;
position: relative;
top: -80px;
}
#diamond:after {
content:'';
position: absolute;
left: -80px;
top: 40px;
width: 0;
height: 0;
border: 80px solid transparent;
border-top: 40px solid red;
}
.stripes {
height: 80px;
width: 160px;
background-size: 4px;
background-color: transparent;
background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(.5, rgba(255, 255, 255, 1)), color-stop(.5, transparent), to(transparent));
position:absolute;
top:0;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With