Как сделать неровный блок с помощью css?
Источник: Stack Overflow на русском
Можно через clip-path
и псевдоэлемент.
:root {
--pin-height: 30px;
--pin-inline-offset:12px;
}
li {
list-style: none;
}
.boxWrapper {
display: inline-block;
padding-top: var(--pin-height);
position: relative;
width: 250px;
}
.boxWrapper::before {
content: '';
position: absolute;
top: 0;
left: 0;
background-color: grey;
width: 250px;
height: var(--pin-height);
clip-path: polygon(50% 0%, var(--pin-inline-offset) 100%, calc(100% - var(--pin-inline-offset)) 100%);
}
.box {
background-color: grey;
border-radius: 15px;
padding-inline :20px;
}
.item {
text-align: center;
}
.item + .item {
border-top: 1px solid white;
}
<div class="boxWrapper">
<div class="box">
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
<li class="item">4</li>
<li class="item">5</li>
<li class="item">6</li>
<li class="item">7</li>
<li class="item">8</li>
<li class="item">9</li>
<li class="item">10</li>
</div>
</div>