.container {
height: 50px;
background-color: linen;
}
.grad {
height: 100%;
background-image: repeating-linear-gradient(90deg, black, black 1.5px, linen 1.5px, linen 100px);
}
.middle-to-bottom {
-webkit-mask-image: linear-gradient(
rgba(0, 0, 0, 1)10%,
rgba(0, 0, 0, 1)20%,
rgba(0, 0, 0, 1)30%,
rgba(0, 0, 0, 1)40%,
rgba(0, 0, 0, 0)50%,
rgba(0, 0, 0, 0)60%,
rgba(0, 0, 0, 0)70%,
rgba(0, 0, 0, 0)80%,
rgba(0, 0, 0, 0)90%,
rgba(0, 0, 0, 0)100%);
}
.middle-to-top {
-webkit-mask-image: linear-gradient(
rgba(0, 0, 0, 0)10%,
rgba(0, 0, 0, 0)20%,
rgba(0, 0, 0, 0)30%,
rgba(0, 0, 0, 0)40%,
rgba(0, 0, 0, 0)50%,
rgba(0, 0, 0, 1)60%,
rgba(0, 0, 0, 1)70%,
rgba(0, 0, 0, 1)80%,
rgba(0, 0, 0, 1)90%,
rgba(0, 0, 0, 1)100%);
}
.middle {
-webkit-mask-image: linear-gradient(
rgba(0, 0, 0, 0)10%,
rgba(0, 0, 0, 0)20%,
rgba(0, 0, 0, 0)30%,
rgba(0, 0, 0, 1)40%,
rgba(0, 0, 0, 1)50%,
rgba(0, 0, 0, 1)60%,
rgba(0, 0, 0, 0)70%,
rgba(0, 0, 0, 0)80%,
rgba(0, 0, 0, 0)90%,
rgba(0, 0, 0, 0)100%);
}
.random {
-webkit-mask-image: linear-gradient(
rgba(0, 0, 0, 0)10%,
rgba(0, 0, 0, 0)20%,
rgba(0, 0, 0, 1)30%,
rgba(0, 0, 0, 1)40%,
rgba(0, 0, 0, 0)50%,
rgba(0, 0, 0, 0)60%,
rgba(0, 0, 0, 0)70%,
rgba(0, 0, 0, 1)80%,
rgba(0, 0, 0, 1)90%,
rgba(0, 0, 0, 0)100%);
}
h4 {
text-align:center;
margin:.5em auto;
padding:2px;
}
<h4>middle to top</h4>
<div class="container">
<div class="grad middle-to-bottom"></div>
</div>
<h4>middle to bottom</h4>
<div class="container">
<div class="grad middle-to-top"></div>
</div>
<h4>middle</h4>
<div class="container">
<div class="grad middle"></div>
</div>
<h4>random</h4>
<div class="container">
<div class="grad random"></div>
</div>