Touch the home button, wait for scanning and press it. Live wallpapers. Detecting fingerprints. Pure CSS animation.
A Pen by Arsen Zbidnyakov on CodePen.
<html> | |
<head> | |
<meta charset="UTF-8"> | |
<link rel="stylesheet" type="text/css" href="iphone5.css"> | |
<link href='http://fonts.googleapis.com/css?family=Roboto:700,100' rel='stylesheet' type='text/css'> | |
</head> | |
<body> | |
<section id="section1"> | |
<h1>iPhone lockscreen</h1> | |
<p>This magical iPhone can detect your fingerprint! Please, touch the home button, wait for scanning and press it.</p> | |
<p style="font-size:.6em;color:#d5d5d5;">or just enjoy pure CSS3 live wallpaper ;)</p> | |
</section> | |
<section id="section2"> | |
<div id="device"> | |
<div id="screen"> | |
<div class="status-bar"> | |
<div> | |
<span class="cell"></span> | |
<span class="cell"></span> | |
<span class="cell"></span> | |
<span class="cell"></span> | |
<span class="cell"></span> | |
</div> | |
<div> | |
<span class="bar-time">14:37</span> | |
</div> | |
<div> | |
<span class="battery"></span> | |
</div> | |
</div> | |
<div class="lock"> | |
<p class="time">14:37</p> | |
<p class="date">Sunday, July 29</p> | |
</div> | |
<div class="unlock centered"> | |
<ul class="top"> | |
<li></li><li></li><li></li><li></li> | |
<li></li><li></li><li></li><li></li> | |
<li></li><li></li><li></li><li></li> | |
</ul> | |
<ul class="bottom"> | |
<li></li><li></li><li></li><li></li> | |
</ul> | |
</div> | |
<div class="bg centered"> | |
<i></i><i></i><i></i><i></i> | |
<i></i><i></i><i></i><i></i> | |
</div> | |
</div> | |
<a href="#screen" id="button"></a> | |
<p class="slide"></p> | |
</div> | |
</section> | |
</body> | |
</html> |
Touch the home button, wait for scanning and press it. Live wallpapers. Detecting fingerprints. Pure CSS animation.
A Pen by Arsen Zbidnyakov on CodePen.
/* | |
Try Full Page for better experience. | |
*/ |
body { | |
margin: 0; | |
font-family: 'Roboto', sans-serif; | |
font-weight: 100; | |
font-size: 36px; | |
line-height: 1; | |
background: #eee; | |
overflow-x: hidden; | |
} | |
p { | |
margin: 0; | |
color: #fff; | |
} | |
section { | |
position: relative; | |
float: left; | |
height: 100; | |
box-sizing: border-box; | |
} | |
#section1 { | |
width: 40%; | |
padding: 50px; | |
} | |
#section2 { | |
width: 60%; | |
} | |
#section1 h1 { | |
margin: 0; | |
color: #9b59b6; | |
} | |
#section1 p { | |
margin: 1em 0; | |
color: #aaa; | |
line-height: 1.5; | |
} | |
.centered { | |
position: absolute; | |
margin: auto; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
} | |
/* iPhone */ | |
#device { | |
position: absolute; | |
margin: auto; | |
top: 50px; | |
left: 0; | |
right: 0; | |
width: 240px; | |
height: 426px; | |
padding: 76px 20px; | |
background: #eee; | |
border: 2px solid #aaa; | |
border-radius: 30px; | |
-webkit-transition: all 1s ease-in-out; | |
} | |
#screen { | |
position: absolute; | |
margin: auto; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
width: 240px; | |
height: 426px; | |
overflow: hidden; | |
color: #fff; | |
background: #9b59b6; | |
border: 2px solid #aaa; | |
z-index: 300; | |
} | |
/* speaker */ | |
#device:before { | |
content: ''; | |
position: absolute; | |
left: 0; | |
right: 0; | |
margin: -25px auto 0; | |
width: 40px; | |
height: 4px; | |
background: #aaa; | |
border: 4px solid #ddd; | |
border-radius: 30px; | |
} | |
/* camera */ | |
#device:after { | |
content: ''; | |
position: absolute; | |
top: 30px; | |
left: 50%; | |
width: 6px; | |
height: 6px; | |
margin-left: -5px; | |
background: #aaa; | |
border: 2px solid #ddd; | |
border-radius: 50%; | |
} | |
/* button */ | |
#button { | |
position: absolute; | |
left: 50%; | |
bottom: 10px; | |
margin-left: -25px; | |
height: 50px; | |
width: 50px; | |
background: #ddd; | |
border: 2px solid #aaa; | |
border-radius: 50%; | |
overflow: hidden; | |
} | |
/* button press */ | |
#button:active { | |
width: 48px; | |
height: 48px; | |
margin-left: -24px; | |
background: #ddd; | |
} | |
/* scanner */ | |
#button:after { | |
content: ''; | |
position: absolute; | |
opacity: .05; | |
width: 100%; | |
height: 6px; | |
background: #e74c3c; | |
-webkit-animation: scanner 2s infinite; | |
-webkit-animation-timing-function: linear !important; | |
} | |
@-webkit-keyframes scanner { | |
from { top: 0; } | |
to { top: 70px; } | |
} | |
/* fingerprint */ | |
#button:before { | |
content: ''; | |
position: absolute; | |
top: 0; | |
left: 0; | |
opacity: 0; | |
width: 50px; | |
height: 50px; | |
background: url(https://dl.dropboxusercontent.com/u/70469070/print.png) center no-repeat; | |
transition: all 0.3s ease-in-out; | |
} | |
#button:hover:before, | |
#button:hover:after { | |
opacity: .2; | |
} | |
/* scanning */ | |
.slide { | |
position: absolute; | |
bottom: 100px; | |
left: 0; | |
right: 0; | |
font-size: 0.5em; | |
text-align: center; | |
z-index: 500; | |
} | |
.slide:before { | |
content: 'scanning..'; | |
opacity: 1; | |
-webkit-transition: all .5s linear 1s; | |
} | |
#button:hover + .slide:before { | |
opacity: 0; | |
} | |
.slide:after { | |
content: 'now press the button'; | |
position: absolute; | |
top: 0; | |
left: 0; | |
right: 0; | |
opacity: 0; | |
-webkit-transform: translateX(-1000px); | |
-webkit-transition: all .5s ease-in-out 1.5s; | |
} | |
#button:hover + .slide:after { | |
opacity: 1; | |
-webkit-transform: translateX(0); | |
} | |
/* hide */ | |
#screen:target ~ #button:after { | |
display: none; | |
} | |
#screen:target ~ #button:before { | |
display: none; | |
} | |
#screen:target ~ .slide:before { | |
opacity: 0; | |
} | |
/* status bar */ | |
.status-bar { | |
position: absolute; | |
top: 0; | |
left: 0; | |
right: 0; | |
width: 100%; | |
height: 12px; | |
padding: 2px 4px 2px; | |
background: transparent; | |
box-sizing: border-box; | |
z-index: 500; | |
display: -webkit-box; | |
display: -webkit-flex; | |
-webkit-justify-content: space-between; | |
-webkit-flex-wrap: wrap; | |
} | |
.status-bar div { | |
width: 33%; | |
} | |
.cell { | |
display: inline-block; | |
float: left; | |
height: 3px; | |
width: 3px; | |
margin: 4px 1px; | |
color: #fff; | |
font-size: 16px; | |
background: #fff; | |
border: 1px solid #fff; | |
border-radius: 50%; | |
} | |
.cell:nth-child(5) { | |
background: transparent; | |
} | |
.bar-time { | |
display: inline-block; | |
width: 100%; | |
color: #fff; | |
opacity: 0; | |
font-size: 0.3em; | |
font-weight: 700; | |
text-align: center; | |
vertical-align: top; | |
-webkit-transition: all .5s ease-in-out .3; | |
} | |
.battery { | |
display: inline-block; | |
float: right; | |
width: 24px; | |
height: 8px; | |
padding: 1px; | |
background: #fff; | |
background-clip: content-box; | |
border: 1px solid #fff; | |
border-radius: 2px; | |
} | |
.battery:after { | |
content: ''; | |
position: absolute; | |
right: 3px; | |
top: 6px; | |
width: 2px; | |
height: 4px; | |
background: #fff; | |
} | |
/* lockscreen */ | |
.lock { | |
position: absolute; | |
height: 100%; | |
width: 100%; | |
z-index: 500 !important; | |
-webkit-transform: translateX(0); | |
-webkit-transition: all .3s ease-in-out; | |
} | |
.time { | |
font-size: 2em; | |
text-align: center; | |
padding-top: 40px; | |
} | |
.date { | |
font-size: 0.5em; | |
text-align: center; | |
} | |
#screen:target .lock, | |
#screen:target ~ .slide:after { | |
-webkit-transform: translateX(250px); | |
-webkit-transition-delay: 0s; | |
} | |
/* menu */ | |
ul.top, ul.bottom { | |
list-style: none; | |
padding: 0; | |
margin: 6px; | |
margin-top: 30px; | |
display: -webkit-box; | |
display: -webkit-flex; | |
-webkit-justify-content: space-around; | |
-webkit-flex-wrap: wrap; | |
z-index: 500; | |
} | |
ul.bottom { | |
position: absolute; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
margin: 0; | |
height: 64px; | |
background: rgba(255, 255, 255, .2); | |
-webkit-transition: all .3s ease-in-out .3s; | |
} | |
.top li, .bottom li { | |
display: block; | |
width: 48px; | |
height: 48px; | |
margin: 6px 0; | |
background: #ecf0f1; | |
border-radius: 12px; | |
opacity: 0; | |
z-index: 500; | |
-webkit-transition: all .3s ease-in-out .3s; | |
} | |
.top li:nth-child(1) { | |
background: #2ecc71; | |
-webkit-transform: translate(-100px, -100px) scale(2); | |
} | |
.top li:nth-child(2) { | |
background: #3498db; | |
-webkit-transform: translate(-50px, -100px) scale(2); | |
} | |
.top li:nth-child(3) { | |
background: #2980b9; | |
-webkit-transform: translate(50px, -100px) scale(2); | |
} | |
.top li:nth-child(4) { | |
background: #f1c40f; | |
-webkit-transform: translate(100px, -100px) scale(2); | |
} | |
.top li:nth-child(5) { | |
background: #f1c40f; | |
-webkit-transform: translate(-100px, -50px) scale(2); | |
} | |
.top li:nth-child(6) { | |
background: #e74c3c; | |
-webkit-transform: translate(-50px, -50px) scale(2); | |
} | |
.top li:nth-child(7) { | |
-webkit-transform: translate(50px, -50px) scale(2); | |
} | |
.top li:nth-child(8) { | |
background: #2ecc71; | |
-webkit-transform: translate(100px, -50px) scale(2); | |
} | |
.top li:nth-child(9) { | |
-webkit-transform: translate(-100px, 0px) scale(2); | |
} | |
.top li:nth-child(10) { | |
background: #e67e22; | |
-webkit-transform: translate(-50px, 0px) scale(2); | |
} | |
.top li:nth-child(11) { | |
background: #2ecc71; | |
-webkit-transform: translate(50px, 0px) scale(2); | |
} | |
.top li:nth-child(12) { | |
-webkit-transform: translate(100px, 0px) scale(2); | |
} | |
.bottom li:nth-child(1) { | |
background: #2ecc71; | |
} | |
.bottom li:nth-child(2) { | |
background: #3498db; | |
} | |
.bottom li:nth-child(3) { | |
background: #f1c40f; | |
} | |
.bottom li:nth-child(4) { | |
background: #e74c3c; | |
} | |
ul.bottom, | |
.bottom li { | |
-webkit-transform: translateY(100px); | |
} | |
#screen:target ul.bottom, | |
#screen:target ul.bottom li { | |
-webkit-transform: translateY(0); | |
opacity: 1; | |
} | |
#screen:target .top li { | |
-webkit-transform: translate(0) scale(1); | |
opacity: 1; | |
} | |
#screen:target .bar-time { | |
opacity: 1; | |
} | |
/* live wallpaper */ | |
.bg { | |
background: transparent; | |
z-index: 400 !important; | |
} | |
.bg i { | |
display: inline-block; | |
background: #8e44ad; | |
border-radius:50%; | |
opacity: 0.5; | |
-webkit-animation-timing-function: linear !important; | |
} | |
.bg i:nth-child(1) { | |
width: 50px; | |
height: 50px; | |
-webkit-animation: i1 15s infinite; | |
} | |
@-webkit-keyframes i1 { | |
from { -webkit-transform: translate(100px, 400px); } | |
to { -webkit-transform: translate(250px, -200px); } | |
} | |
.bg i:nth-child(2) { | |
width: 70px; | |
height: 70px; | |
background: #8e44ad; | |
-webkit-animation: i2 30s infinite; | |
} | |
@-webkit-keyframes i2 { | |
from { -webkit-transform: translate(100px, 450px); } | |
to { -webkit-transform: translate(100px, -100px); } | |
} | |
.bg i:nth-child(3) { | |
width: 130px; | |
height: 130px; | |
background: #8e44ad; | |
-webkit-animation: i3 15s infinite; | |
} | |
@-webkit-keyframes i3 { | |
from { -webkit-transform: translate(100px, 450px); } | |
to { -webkit-transform: translate(-200px, -200px); } | |
} | |
.bg i:nth-child(4) { | |
width: 70px; | |
height: 70px; | |
background: #8e44ad; | |
-webkit-animation: i4 25s infinite; | |
} | |
@-webkit-keyframes i4 { | |
from { -webkit-transform: translate(300px, 450px); } | |
to { -webkit-transform: translate(-50px, -300px); } | |
} | |
.bg i:nth-child(5) { | |
width: 110px; | |
height: 110px; | |
-webkit-animation: i5 15s infinite; | |
} | |
@-webkit-keyframes i5 { | |
from { -webkit-transform: translate(-50px, 400px); } | |
to { -webkit-transform: translate(150px, -400px); } | |
} | |
.bg i:nth-child(6) { | |
width: 120px; | |
height: 120px; | |
-webkit-animation: i6 20s infinite; | |
} | |
@-webkit-keyframes i6 { | |
from { -webkit-transform: translate(250px, 400px); } | |
to { -webkit-transform: translate(-50px, -400px); } | |
} | |
.bg i:nth-child(7) { | |
width: 40px; | |
height: 40px; | |
-webkit-animation: i7 18s infinite; | |
} | |
@-webkit-keyframes i7 { | |
from { -webkit-transform: translate(150px, 200px); } | |
to { -webkit-transform: translate(50px, -400px); } | |
} | |
.bg i:nth-child(8) { | |
width: 50px; | |
height: 50px; | |
-webkit-animation: i8 10s infinite; | |
} | |
@-webkit-keyframes i8 { | |
from { -webkit-transform: translate(100px, 100px); } | |
to { -webkit-transform: translate(-150px, -400px); } | |
} |