JSFiddle - React, Tailwind, and code Playground
HTML
<ul id="cert_steps" class="hide-on-checkout">
<li>
<input type="radio" name="step" value="1" id="step_1" checked="">
<label class="arrow-button right" for="step_1">Cертификат</label>
<div id="step_1_summary"></div>
</li>
<li>
<input type="radio" name="step" value="2" id="step_2">
<label class="arrow-button right" for="step_2">Дополнения</label>
<div id="step_2_summary"></div>
</li>
<li>
<input type="radio" name="step" value="3" id="step_3">
<label class="arrow-button" for="step_3">Оформление</label>
<div id="step_3_summary"></div>
</li>
</ul>
CSS
#_steps_holder {
display: inline-block;
background: #ddd;
}
.arrow-button.active.right:after,
#cert_steps input[type="radio"]:checked + label:after {
background-image: linear-gradient(135deg, #bd0334, #ba0040, #b5064c, #af1056, #a81a60)
}
#cert_steps input[type="radio"]:checked + label:before {
display: none;
}
.arrow-button.active,
#cert_steps input[type="radio"]:checked + label {
color: white;
/*background-image: linear-gradient(180deg, #f093fb 0%, #f5576c 100%);*/
/*background-image: linear-gradient(0, #A445B2 0%, #D41872 52%, #FF0066 100%);*/
background-image: linear-gradient(180deg, #bd0334, #ba0040, #b5064c, #af1056, #a81a60)
}
#cert_steps label:before {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 60%;
content: "";
background-image: linear-gradient(100deg, hsla(217, 41%, 47%, 0.2) 0%, rgba(255, 255, 255, 0) 70%);
border-radius: 3px 0 0 3px;
}
#cert_steps label {
font-size: 14px;
}
.arrow-button {
background-image: linear-gradient(180deg, #fdfbfb 0%, #ebedee 100%);
padding: 0 30px;
line-height: 1;
display: flex;
position: relative;
z-index: 3;
height: 50px;
margin: 0 auto;
font-size: 18px;
border-radius: 5px;
box-shadow: 4px 3px 10px -7px hsla(200, 8%, 46%, 1);
cursor: pointer;
/* width: 100%; */
color: #000;
text-align: center;
justify-content: center;
align-items: center;
}
.arrow-button.right:after {
content: "";
position: absolute;
transform: scaleX(0.5) rotate(45deg);
height: 37px;
width: 38px;
right: -17px;
top: 7px;
border-radius: 5px;
z-index: -1;
background-image: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
/* box-shadow: 4px 3px 10px -7px hsla(200, 8%, 46%, 1); */
}
.arrow-button.active.right:hover:after,
.arrow-button:hover:after {
background-image: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}
.arrow-button:hover {
...