JSFiddle - React, Tailwind, and code Playground

by Dawid Karwat

HTML

<input type="checkbox" id="myhiddencheckbox"/>

<label for="myhiddencheckbox" id="mybutton">
    My Button
    <div id="myrotation">
        <div/>
    </div>
</label>

CSS

#myhiddencheckbox{
    display: none;
}
#mybutton{
    width: 140px;
    height: 40px;
    overflow: hidden;
    border-radius: 8px 8px 0 0;
    display: inline-block;
    background-color: #999;
}
#mybutton:hover{
    box-shadow: inset 0 0 3px #000;
}
#myrotation{
    width: 40px;
    height: 100%;
    background-color: #777;
    overflow: hidden;
    float: right;
}
#myrotation > div{
    width: 100%;
    height: 100%;
    background-color: #444;
    transition: 800ms;
}
#myhiddencheckbox:checked + #mybutton > #myrotation > div{
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}
#myhiddencheckbox:checked + #mybutton{
    background-color: #BBB;
}