JSFiddle - React, Tailwind, and code Playground
HTML
<div class="block">Кнопка</div><br>
<div class="block">Кнопка, которая поменяла ширину</div>
CSS
.block{
position: relative;
display: inline-block;
padding: 30px;
margin: 50px;
color: #222;
text-shadow: 0 1px 1px #888;
font-family: Arial;
font-size: 16px;
font-weight: bold;
}
.block:before, .block:after{
content:'';
position: absolute;
left: 0;
background: #777;
z-index: -1;
padding: 50%;
}
.block:before, .block:after {
top: 0;
border-radius: 10% 10% 0 0;
clip: rect(0, auto, 40px, 0);
}
.block:after {
-webkit-transform: scaleY(-1);
-moz-transform: scaleY(-1);
-ms-transform: scaleY(-1);
-o-transform: scaleY(-1);
transform: scaleY(-1);
top: auto;
bottom: 0;
}