Image over Text Hover
Read more & Inner border Hover
by avgustre
HTML
<div class="butFrame">
<img src="https://unsplash.it/g/400/300/?random" />
<div class="butTextWrap">
<div class="butHeading">Heading
<br />
<div class="butText">Sub Heading</div>
</div>
<p>Read More...</p>
</div>
</div>
CSS
/* FOR CODEPEN PRESENTATION ONLY */
body {
font-family: 'open sans';
max-width: 1200px;
margin: 60px auto;
}
.buttons {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
/* PASTE BELOW IN CSS */
.buttons * {
transition: all .5s ease;
}
.buttons {
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
/* Common style */
.butFrame {
position: relative;
overflow: hidden;
margin: 5px;
width: 24%;
background: #111;
font-family: inherit;
font-size: 1em;
text-align: center;
cursor: pointer;
}
.butFrame img {
position: relative;
display: block;
max-width: 100%;
opacity: 0.8;
position: absolute;
}
.buttons>.butHeading {
clear: both;
margin: 0;
padding: 4em 1% 0;
color: #484B54;
font-weight: 800;
font-size: 1.5em;
}
#buttons>.butHeading:first-child {
padding-top: 0em;
}
.butFrame .butTextWrap {
font-family: inherit;
padding: 2em;
color: #fff;
text-transform: uppercase;
font-size: 1.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.butFrame .butTextWrap::before,
.butFrame .butTextWrap::after {
pointer-events: none;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
}
.butFrame .butTextWrap,
.butFrame .butTextWrap>a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* Anchor will cover the whole item by default */
.butFrame .butTextWrap>a {
z-index: 1000;
text-indent: 200%;
white-space: nowrap;
font-size: 0;
opacity: 0;
}
.butFrame .butHeading {
word-spacing: -0.15em;
font-weight: 800;
font-size: 18px;
font-family: inherit;
}
.butFrame .butHeading .butText {
font-weight: 300;
}
.butFrame .butHeading,
.butFrame p {
margin: 0;
color: #fff;
}
.butFrame p {
letter-spacing: 1px;
...