Looking to enhance my website with a new feature that incorporates the card-flipper schema found on David Walsh's site: https://davidwalsh.name/css-flip. The challenge arises from the fact that the content within my cards is dynamic, making the height unknown due to the responsive nature of the site. There is a footer positioned at the bottom of the page that must remain below this content area. However, utilizing absolute positioning causes the footer to display at the top as demonstrated in this codepen: https://codepen.io/anon/pen/ALJmGZ
Seeking suggestions for CSS hacks or modifications to eliminate the need for absolute positioning while maintaining the functionality of the card flip effect.
HTML:
<div class="flip-container" ontouchstart="this.classList.toggle('hover');">
<div class="flipper">
<div class="front">
<span class="name">David Walsh</span>
</div>
<div class="back">
<div class="back-logo"></div>
<div class="back-title">@davidwalshblog</div>
<p>Mozilla Web Developer, MooTools & jQuery Consultant, MooTools Core Developer, Javascript Fanatic, CSS Tinkerer, PHP Hacker, and web lover.</p>
</div>
</div>
<footer>Here is my footer</footer>
</div>
CSS:
.flip-container {
-webkit-perspective: 1000;
-moz-perspective: 1000;
-o-perspective: 1000;
perspective: 1000;
border: 1px solid #ccc;
}
.flip-container:hover .flipper,
.flip-container.hover .flipper {
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
-o-transform: rotateY(180deg);
transform: rotateY(180deg);
}
.flip-container, .front, .back {
width: 320PX;
height: 427px;
}
.flipper {
-webkit-transition: 0.6s;
-webkit-transform-style: preserve-3D;
-moz-transition: 0.6s;
-moz-transform-style: preserve-3D;
-O-transition: 0.6s;
-o-transform-style: preserve-3D;
transition: 0.6s;
transform-style: preserve-3D;
position: relative;
}
.front, .back {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
}
.front {
background: url(http://davidwalsh.name/demo/dwflip.jpg) 0 0 no-repeat;
z-index: 2;
}
.back {
-webkit-transform: rotateY(180DEG);
-moz-transform: rotateY(180DEG);
-O-transform: rotateY(180DEG);
transform: rotateY(180DEG);
background: #f8F8f8;
}
.front .name {
font-size: 2em;
display: INLINE-block;
background: rgba(33, 33, 33, 0.9);
color: #f8F8f8;
font-family: Courier;
padding: 5px 10px;
border-radius: 5px;
bottom: 60px;
left: 25%;
position: absolute;
text-shadow: 0.1EM 0.1EM 0.05EM #333;
-webkit-transform: rotate(-20deg);
-moz-transform: rotate(-20deg);
-O-transform: rotate(-20deg);
transform: rotate(-20deg);
}
.back-logo {
position: absolute;
top: 40px;
left: 90px;
width: 160px;
height: 117PX;
background: url(http://davidwalsh.name/demo/logo.png) 0 0 no-repeat;
}
.back-title {
font-weight: bold;
color: #00304a;
position: absolute;
top: 180px;
left: 0;
right: 0;
text-align: center;
text-shadow: 0.1em 0.1em 0.05em #acd7e5;
font-family: Courier;
font-size: 2em;
}
.back p {
position: absolute;
bottom: 40px;
left: 0;
right: 0;
text-align: center;
padding: 0 20px;
font-family: Arial;
line-height: 2em;
}
footer {
background:red;
}