Reputation: 4358
So I have a square div and i'm trying to get the background to basically look like this :
I've had a look around, and since this question has been asked a lot i've seen CSS gradients used.
I've been playing about and ended up with:
background-image: linear-gradient(
180deg, rgba(255, 255, 255, .2) 29%,
transparent 20%,
transparent 51%,
rgba(255, 255, 255, .2) 50%,
rgba(255, 255, 255, .2) 75%,
transparent 75%,
transparent);
However, gradients seem to blend the colours from one to another instead of having a sharp difference like below.
What should I be doing to achieve the picture?
Upvotes: 27
Views: 50878
Reputation: 14025
A more flexible and elegant solution found here : https://css-tricks.com/stripes-css/
#stripes {
height: 200px;
width: 2000px;
background-color:yellow;
}
.stripes {
background: repeating-linear-gradient(
45deg,
transparent,
transparent 10px,
#000 10px,
#000 20px
);
}
<div id="stripes" class="stripes"></div>
https://jsfiddle.net/ns8rn7r3/4/
Upvotes: 17
Reputation: 17697
try this :
div#stripes {
height: 200px;
width: 200px;
background-image: linear-gradient(45deg, #000 25%, transparent 25%, transparent 50%, #000 50%, #000 75%, transparent 75%, #fff);
background-size: 50px 50px;
}
<div id="stripes">
</div>
Upvotes: 26
Reputation: 2590
You can do like this:
background: repeating-linear-gradient(-45deg, #de9dd4, #de9dd4 5px, white 5px, white 10px);
Upvotes: 20
Reputation: 1589
Please use this CSS:
body{
background: linear-gradient(45deg, white 25%, #000 25%, #000 50%, white 50%, white 75%, #000 75%);
background-size:98px 98.9px;
}
See in action here
Upvotes: 3