[ edit ]
Chyba znalazłem rozwiązanie 
<button class="sort">Sortuj listę malejąco</button>
<button class="reset">Nowa gra</button>
<button class="sort">Sortuj listę malejąco</button>
<button class="reset">Nowa gra</button>
.sort, .reset{
display: block;
margin:50px 20px 0 0;
width:200px;
height:40px;
border: 1px solid red;
background-image: linear-gradient(90deg, rgba(255,0,0,1) 0%,
rgba(255,0,0,1) 50%,
rgba(255,0,0,0) 51%,
rgba(255,255,255,1) 100%);
}

lub
.sort, .reset{
display: block;
margin:50px 20px 0 0;
width:200px;
height:40px;
border: 1px solid red;
background-image: linear-gradient(90deg, red 0%, red 50%,
white 51%, white 100%);
}
lub 
.sort, .reset{
display: block;
margin:50px 20px 0 0;
width:200px;
height:40px;
border: 1px solid red;
background-image: linear-gradient(90deg, red 0%, red 50%,
white 51%, white 100%);
box-shadow: inset 2px 2px 20px rgba(255, 255, 255, 1);
}

"work around"
<button class="sort">Sortuj listę malejąco</button>
<button class="reset">Nowa gra</button>
<button class="sort">Sortuj listę malejąco</button>
<button class="reset">Nowa gra</button>
.sort, .reset{
display: block;
margin:50px 20px 0 0;
width:200px;
height:40px;
border: 1px solid red;
background-color: transparent;
position: relative;
}
.sort::before, .reset::before{
content: '';
width:50%;
height:101%;
background-color: red;
position: absolute;
z-index: -1;
top:0;
left:0;
}
