<ul>
<li>
<button data-value="18"></button>
</li>
</ul>
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@600;700&display=swap');
*,*:before,*:after{
box-sizing:border-box;
}
button {
background: none;
border: none;
font-size: 1.2em;
font-family: Outfit;
cursor: pointer;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
ul li {
margin: 5%;
position: relative;
width: 30%;
max-width:150px;
display: inline-block;
font-size: 4em;
border-top: 2px solid #bdbdbd;
-webkit-perspective: 500px;
perspective: 500px;
cursor:pointer;
border-radius:.2em;
}
ul li:before {
content:"";
position: absolute;
padding:6%;
left:50%;
top:5%;
margin-left:-6%;
background:#f5f5f5;
border-top: 1px solid #bdbdbd;
border-radius: 50%;
}
ul li:after{
content:"";
position:absolute;
z-index:6;
opacity:.1;
width:100%;
height:50%;
top:45%;
left:0;
-webkit-transform-origin: top left;
transform-origin: top left;
-webkit-transform: skew(35deg);
transform: skew(35deg);
transition: .218s ease;
background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.65)), color-stop(100%,rgba(0,0,0,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
}
ul li:hover:after{
-webkit-transform: skew(15deg);
transform: skew(15deg);
opacity:.2;
}
ul li:hover button:before {
-webkit-transform: rotateX(-35deg);
transform: rotateX(-35deg);
background-color: #3b50ce;
color: #bdbdbd;
}
ul li:hover button:after {
-webkit-transform: rotateX(0deg);
transform: rotateX(0deg);
box-shadow: 0ch 0ch 1ch -.3ch rgba(0, 0, 0, 1);
background-color: #4e6cef;
color: #f5f5f5;
}
ul li button {
position: relative;
top: 0;
left: 0;
right: 0;
bottom: 0;
color: #fff;
width: 100%;
padding-top: 100%;
margin-top: 8%;
-webkit-perspective: 500px;
perspective: 500px;
display: inline-block;
}
ul li button:before {
content: attr(data-value);
overflow: hidden;
position: absolute;
top: -5.5%;
left: 0;
right: 0;
bottom: 0;
display: block;
background-color: #4e6cef;
color: #e0e0e0;
border-top: 2px solid #738ffe;
width: 100%;
font-weight:700;
padding-top: 50%;
padding-bottom:50%;
height: 100%;
line-height: 0;
z-index: 4;
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transform: rotateX(-25deg);
transform: rotateX(-25deg);
transition: .218s ease;
border-radius:.2em;
}
ul li button:after {
content: attr(data-value);
overflow: hidden;
position: absolute;
top: 45.5%;
left: 0;
display: inline-block;
background-color: #5677fc;
color: #fafafa;
font-weight:700;
width: 100%;
height: 50%;
z-index: 5;
line-height: 0;
-webkit-transform-origin: top center;
transform-origin: top center;
-webkit-transform: rotateX(15deg);
transform: rotateX(15deg);
box-shadow: 0ch .2ch 2ch -.1ch rgba(0, 0, 0, .5);
transition: .218s ease;
border-bottom: 1px solid #3b50ce;
border-bottom-left-radius:.2em;
border-bottom-right-radius:.2em;
}
@media screen and (max-width:480px){
ul li{
font-size:2.2em;
}
}
document.querySelector('button').dataset.value = new Date().getDate();
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.