Отличный пример реализации двухсторонней визитной карточки. Первая сторона видна изначально, а вторая с контактной информацией видна после наведения на визитку (hover-эффект). Данный пример визитки для веб-разработчика реализован с помощью CSS.
Демо
HTML
<div class="business-card" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> <div class="name"> <span class="first">Nicholas</span> <span class="last">Dobie</span> <span class="title">Web Developer</span> </div> </div> <div class="back"> <div class="container-sm"> <figure class="logo-white"></figure> </div> <div class="container-lg"> <ul class="social fa-ul"> <li><i class="fa fa-li fa-globe"></i><a href="//nickdobie.com">Website</a></li> <li><i class="fa fa-li fa-envelope"></i><a href="mailto:nick@nickdobie.com">nick@nickdobie.com</a></li> <li><i class="fa fa-li fa-phone"></i><a href="tel:+15073515278">(507) 351-5278</a></li> <li><i class="fa fa-li fa-codepen"></i><a href="//codepen.io/nrdobie">CodePen</a></li> <li><i class="fa fa-li fa-github"></i><a href="//github.com/nrdobie">GitHub</a></li> <li><i class="fa fa-li fa-reddit"></i><a href="//reddit.com/u/nrdobie">Reddit</a></li> </ul> </div> </div> </div> </div> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
CSS
@import url(http://fonts.googleapis.com/css?family=Open+Sans:300); body { background-image: url(http://subtlepatterns.com/patterns/gplaypattern.png); background-position: center center; font-family: 'Open Sans', sans-serif; } div.business-card { height: 427px; width: 320px; margin-left: -160px; margin-top: -213.5px; position: absolute; top: 50%; left: 50%; -webkit-perspective: 1000; perspective: 1000; } div.business-card:hover .flipper, div.business-card.hover .flipper { -webkit-transform: rotateY(180deg) rotateZ(90deg); transform: rotateY(180deg) rotateZ(90deg); } div.flipper { -webkit-transition: 0.6s; transition: 0.6s; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; position: relative; -webkit-transform-origin: center 160px; -ms-transform-origin: center 160px; transform-origin: center 160px; } div.front, div.back { -webkit-backface-visibility: hidden; backface-visibility: hidden; position: absolute; top: 0; left: 0; height: 427px; width: 320px; -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.75); box-shadow: 0 0 50px rgba(0, 0, 0, 0.75); } div.front { background-color: white; z-index: 0; } div.front:before, div.front:after { display: block; content: ''; position: absolute; top: 0; left: 0; border-width: 160px; border-style: solid; border-color: transparent; } div.front:before { border-top-color: #288fbd; border-left-color: #288fbd; z-index: 2; } div.front:after { border-top-color: #005d8c; border-right-color: #005d8c; } div.front div.name { position: absolute; bottom: 8.5px; left: 85px; } div.front div.name span { display: block; font-size: 40px; line-height: 45px; } div.front div.name span.first { color: #005d8c; } div.front div.name span.last { color: #288fbd; } div.front div.name span.title { font-size: 20px; line-height: 20px; } div.back { background-color: #005d8c; color: white; width: 427px; height: 320px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transform: rotateY(180deg) rotateZ(90deg); transform: rotateY(180deg) rotateZ(90deg); } div.back div.container-sm { float: left; width: 40%; height: 100%; position: relative; } div.back div.container-lg { float: left; width: 60%; margin-top: 2rem; } div.back figure.logo-white { position: absolute; top: 50%; left: 50%; width: 120px; height: 120px; display: block; margin: -60px -60px; } div.back figure.logo-white:before, div.back figure.logo-white:after { display: block; content: ''; position: absolute; border-style: solid; border-color: transparent; } div.back figure.logo-white:before { top: 0; left: 0; border-width: 60px; border-top-color: white; border-left-color: white; z-index: 2; } div.back figure.logo-white:after { bottom: 0; right: 0; border-width: 56px; border-right-color: white; } div.back a { color: white; text-decoration: none; display: block; } div.back a:hover { text-decoration: underline; } div.back ul.social { font-size: 1.25rem; } div.back ul.social li { margin-top: 1rem; } div.back ul.social li:first-child { margin-top: 2rem; }
Обзор
Проголосуйте за урок
Оценка
Итог : Уважаемые читатели! Если вам понравилась статья не поленитесь проголосовать и оставить комментарий, ведь так я смогу понять полезность уроков и статей, и улучшить их качество в будущем. Заранее спасибо!