CSS
body {
background-color:#1a1a1a;
}
.contain {
width:500px;
margin: 3em auto;
}
.roman-link {
position: relative;
color: #FFF;
text-decoration: none;
padding: 10px 20px;
text-align: center;
display: inline-block;
}
.roman-link span.bg-large {
box-sizing: content-box;
position: absolute;
top: 0;
left: -4px;
padding: 0 4px;
width: 100%;
height: 100%;
border: 1px solid rgba(255,255,255,.15);
}
.roman-link span.bg-large .roman-top-left::after {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 1px;
width: 0;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-large .roman-top-left::after {
width: 100%;
}
.roman-link span.bg-large .roman-top-left::before {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 0;
width: 1px;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-large .roman-top-left::before {
height: 100%;
}
.roman-link span.bg-large .roman-bottom-right::after {
position: absolute;
bottom: 0;
right: 0;
bottom: 0;
height: 1px;
width: 0;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-large .roman-bottom-right::after {
width: 100%;
}
.roman-link span.bg-large .roman-bottom-right::before {
position: absolute;
bottom: 0;
right: 0;
bottom: 0;
height: 0;
width: 1px;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-large .roman-bottom-right::before {
height: 100%;
}
.roman-link span.bg-tall {
-webkit-box-sizing: content-box;
box-sizing: content-box;
position: absolute;
top: -4px;
left: 0;
padding: 4px 0;
width: 100%;
height: 100%;
-webkit-transform: translateZ(0);
transform: translateZ(0);
border: 1px solid rgba(255,255,255,.2);
}
.roman-link span.bg-tall .roman-top-left::after {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 1px;
width: 0;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-tall .roman-top-left::after {
width: 100%;
}
.roman-link span.bg-tall .roman-top-left::before {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 0;
width: 1px;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-tall .roman-top-left::before {
height: 100%;
}
.roman-link span.bg-tall .roman-bottom-right::after {
position: absolute;
bottom: 0;
right: 0;
bottom: 0;
height: 1px;
width: 0;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-tall .roman-bottom-right::after {
width: 100%;
}
.roman-link span.bg-tall .roman-bottom-right::before {
position: absolute;
bottom: 0;
right: 0;
bottom: 0;
height: 0;
width: 1px;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-tall .roman-bottom-right::before {
height: 100%;
}
.roman-link span.bg-medium {
-webkit-box-sizing: content-box;
box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
position: absolute;
top: -8px;
left: 4px;
padding: 8px 0;
width: -webkit-calc(100% - 8px);
width: calc(100% - 8px);
height: 100%;
-webkit-transform: translateZ(0);
transform: translateZ(0);
-webkit-transform: translateZ(0);
transform: translateZ(0);
border: 1px solid rgba(255,255,255,.05);
}
.roman-link span.bg-medium .roman-top-left::after {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 1px;
width: 0;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-medium .roman-top-left::after {
width: 100%;
}
.roman-link span.bg-medium .roman-top-left::before {
position: absolute;
top: 0;
left: 0;
bottom: 0;
height: 0;
width: 1px;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-medium .roman-top-left::before {
height: 100%;
}
.roman-link span.bg-medium .roman-bottom-right::after {
position: absolute;
bottom: 0;
right: 0;
bottom: 0;
height: 1px;
width: 0;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-medium .roman-bottom-right::after {
width: 100%;
}
.roman-link span.bg-medium .roman-bottom-right::before {
position: absolute;
bottom: 0;
right: 0;
bottom: 0;
height: 0;
width: 1px;
background-color: rgba(255,255,255,0.9);
display: block;
content: "";
transition: all 0.6s cubic-bezier(.4,0,.1,1) 0s;
}
.roman-link:hover span.bg-medium .roman-bottom-right::before {
height: 100%;
}