JSFiddle - React, Tailwind, and code Playground

by Softlink

HTML

<div>кнопка</div>
<div>кнопка с текстом</div>
<div>кнопка с текстом, который растянет контейнер</div>

CSS

body{
padding: 50px;
}

div{
  position: relative;
  display: inline-block;
  padding: 20px 10px;
  border-radius: 10px;
  overflow: hidden;
}

div:after{
  content:'';
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0;
  height: 50%;
  border-radius: 10px 10px 0 0;
  z-index: -1;
   -webkit-transform: skewY(-3deg);
  -moz-transform: skewY(-3%);
  -o-transform: skewY(-3deg);
  -ms-transform: skewY(-3deg);
  transform: skewY(-3deg);
  -webkit-transform-origin: 100% 100% 0;
  -moz-transform-origin: 100% 100% 0;
  -ms-transform-origin: 100% 100% 0;
  -o-transform-origin: 100% 100% 0;
   transform-origin: 100% 100% 0;
}

div:before{
  content:'';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  border-radius: 0 0 10px 10px;
  z-index: -1;
}

div:hover:after, div:hover:before{
background: #222;
}

div:hover{
color: #fff;
}