JSFiddle - React, Tailwind, and code Playground
by Ricardo Ruiz
HTML
<input type="button" value="input">
<a href="#" data-type="button">anchor</a>
<p data-type="button">paragraph</p>
CSS
[data-type="button" i] {
overflow: hidden;
white-space: nowrap;
display: inline-flex;
justify-content: center;
align-items: center;
-webkit-user-select: none;
font-family: Arial;
font-size: 13px;
color: black;
text-decoration: none;
cursor: default;
padding: 2px 6px;
margin: 0;
box-sizing: border-box;
border-radius: 2px;
border-top: 1px solid rgb(166, 166, 166);
border-bottom: 1px solid rgb(148, 148, 148);
border-left: 1px solid rgb(157, 157, 157);
border-right: 1px solid rgb(157, 157, 157);
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAcCAAAAACFNooQAAAAHUlEQVQI12P4wfSfiYHpP9N/KP0Pyv6Pxobw4CoBqcYYFT1E4a0AAAAASUVORK5CYII=);
background-size: contain;
}
[data-type="button" i]:hover {
border-top: 1px solid rgb(123, 123, 123);
border-bottom: 1px solid rgb(110, 110, 110);
border-left: 1px solid rgb(116, 116, 116);
border-right: 1px solid rgb(116, 116, 116);
}
[data-type="button" i]:active {
border-top: 1px solid rgb(166, 166, 166);
border-bottom: 1px solid rgb(148, 148, 148);
border-left: 1px solid rgb(157, 157, 157);
border-right: 1px solid rgb(157, 157, 157);
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAcCAAAAACFNooQAAAAHUlEQVQI12O4y8TIxMDEyMQIpZmgbAhkQmPDVQIAOFkBLhpTdQIAAAAASUVORK5CYII=);
}
body > * {
width: 100px;
height: 50px;
}