This is taken exactly from https://ihatetomatoes.net/create-custom-preloading-screen/
Forked from Brandon Travis's Pen Preloading Screen.
A Pen by Seung hye Choi on CodePen.
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/earlyaccess/hanna.css"> | |
<div class="wrapper"> | |
<div id="loader-wrapper"> | |
<div id="loader"> | |
<p>LOADING</p> | |
<div class="circ-one"></div><div class="circ-two"></div> | |
</div> | |
<div class="loader-section section-left"></div> | |
<div class="loader-section section-right"></div> | |
</div> | |
<div id="content"> | |
<div class="wrapper preload"> | |
<section class="grid-unit top-left"> | |
<div class="swing-panel"> | |
<span class="desc">Documents</span> | |
</div> | |
<div class="sphere"></div> | |
<span class="entypo-book-open icon"></span> | |
<span class="label">Documents</span> | |
</section> | |
<section class="grid-unit top-right"> | |
<div class="swing-panel"> | |
<span class="desc">About Me</span> | |
</div> | |
<div class="sphere"></div> | |
<span class="entypo-vcard icon"></span> | |
<span class="label">About Me</span> | |
</section> | |
<section class="grid-unit bottom-left"> | |
<div class="swing-panel"> | |
<span class="desc">Settings</span> | |
</div> | |
<div class="sphere"></div> | |
<span class="entypo-tools icon"></span> | |
<span class="label">Settings</span> | |
</section> | |
<section class="grid-unit bottom-right"> | |
<div class="swing-panel"> | |
<span class="desc">Gallery</span> | |
</div> | |
<div class="sphere"></div> | |
<span class="entypo-picture icon"></span> | |
<span class="label">Gallery</span> | |
</section> | |
</div><!-- end wrapper --> | |
</div> |
This is taken exactly from https://ihatetomatoes.net/create-custom-preloading-screen/
Forked from Brandon Travis's Pen Preloading Screen.
A Pen by Seung hye Choi on CodePen.
$(document).ready(function() { | |
setTimeout(function() { | |
$('.wrapper').addClass('loaded'); | |
}, 3000); | |
}); | |
jQuery(function(){ | |
$(window).load(function(){ | |
$('.wrapper').removeClass('preload'); | |
}); | |
}); |
@import "bourbon"; | |
.wrapper { | |
position: relative; | |
height: 100%; | |
width: 100%; | |
} | |
p { | |
line-height: 1.33em; | |
color: #7E7E7E; | |
font-family: 'Lemon', cursive; | |
} | |
h1 { | |
color: #EEE; | |
} | |
#content { | |
margin: 0 auto; | |
padding-bottom: 50px; | |
} | |
#loader-wrapper { | |
position: fixed; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
z-index: 1000; | |
} | |
#loader { | |
display: block; | |
position: relative; | |
left: 50%; | |
top: 50%; | |
width: 150px; | |
height: 150px; | |
margin: -75px 0 0 -75px; | |
border-radius: 50%; | |
z-index: 1001; | |
animation: spin 2s linear infinite; | |
&:before { | |
content: ""; | |
position: absolute; | |
top: 5px; | |
left: 5px; | |
right: 5px; | |
bottom: 5px; | |
border-radius: 50%; | |
animation: spin 3s linear infinite; | |
} | |
&:after { | |
content: ""; | |
position: absolute; | |
top: 15px; | |
right: 15px; | |
left: 15px; | |
bottom: 15px; | |
border-radius: 50%; | |
} | |
} | |
#loader-wrapper .loader-section { | |
position: fixed; | |
top: 0; | |
width: 51%; | |
height: 100%; | |
background-color: lightgray; | |
background-size: cover; | |
background-repeat: no-repeat; | |
background-position: center; | |
background-blend-mode: multiply; | |
z-index: 1000; | |
transform: translateX(0); | |
} | |
#loader-wrapper .loader-section.section-left { | |
left: 0; | |
} | |
#loader-wrapper .loader-section.section-right { | |
right: 0; | |
} | |
#loader { | |
display: block; | |
width: 100px; | |
height: 100px; | |
margin: 50 auto; | |
} | |
.circ-one { | |
position: relative; | |
display: block; | |
width: 50px; | |
height: 50px; | |
background: rgba(217,91,67,1); | |
border-radius: 100%; | |
float: left; | |
animation: load-x 1s cubic-bezier(0.445, 0.100, 0.550, 0.900) infinite; | |
} | |
.circ-two { | |
position: relative; | |
display: block; | |
width: 50px; | |
height: 50px; | |
background: rgba(84,36,55,1); | |
border-radius: 100%; | |
float: right; | |
animation: load-y 1s cubic-bezier(0.445, 0.100, 0.550, 0.900) infinite; | |
} | |
@keyframes load-x { | |
0% { left: -10px; transform: scale(1); } | |
25% { transform: scale(1.5); z-index: 2; } | |
50% { left: 60px; transform: scale(1); } | |
75% { transform: scale(0.5); z-index: 1; } | |
100% { left: -10px; transform: scale(1); } | |
} | |
@keyframes load-y { | |
0% { right: -10px; transform: scale(1); } | |
25% { transform: scale(0.5); } | |
50% { right: 60px; transform: scale(1); z-index: 1; } | |
75% { transform: scale(1.5); z-index: 2; } | |
100% { right: -10px; transform: scale(1); } | |
} | |
#loader p { | |
text-align: center; | |
font-family: 'Hanna', serif; | |
font-weight: 50; | |
color:rgba(192,41,66,1); | |
animation: pulse 2s ease-in-out infinite; | |
} | |
@keyframes pulse { | |
50% { opacity: 0.5; } | |
} | |
// Loaded | |
.loaded #loader-wrapper .loader-section.section-left { | |
transform: translateY(-100%); | |
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); | |
} | |
.loaded #loader-wrapper .loader-section.section-right { | |
transform: translateY(100%); | |
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000); | |
} | |
.loaded #loader { | |
opacity: 0; | |
transition: all 0.3s ease-out; | |
} | |
.loaded #loader-wrapper { | |
visibility: hidden; | |
transform: translateX(-100%); | |
transition: all 0.3s 1s ease-out; | |
} | |
@import url(http://fonts.googleapis.com/css?family=Oxygen); | |
@import url(http://weloveiconfonts.com/api/?family=entypo); | |
[class*="entypo-"]:before { | |
font-family: 'entypo', sans-serif; | |
} | |
* { | |
box-sizing: border-box; | |
} | |
.preload * { | |
transition: none !important; | |
} | |
html | |
{ | |
position: relative; | |
min-height: 100%; | |
} | |
.wrapper{ | |
position: absolute; | |
left: 0; | |
top: 0; | |
right: 0; | |
bottom: 0; | |
} | |
.grid-unit { | |
position: relative; | |
float: left; | |
border-top: 10px solid #fff; | |
border-left: 10px solid #fff; | |
width: 50%; | |
height: 50%; | |
perspective: 800; | |
overflow: hidden; | |
} | |
.top-left { | |
background: rgba(236,208,120,1); | |
} | |
.top-left:hover { | |
background-image: url('http://zvczvc.zz.vc/img/%ED%95%98%EB%B2%84%20%EB%B8%8C%EB%A6%BF%EC%A7%80.jpg'); | |
background-size: cover; | |
border-right: 10px solid #fff; | |
background-blend-mode: multiply; | |
background-color: rgba(236,208,120,1); | |
} | |
.top-right { | |
background: rgba(217,91,67,1); | |
border-right: 10px solid #fff; | |
} | |
.top-right:hover { | |
background-image: url('http://content.finda.photo/unsplash/oFAVqfTSby8.jpg'); | |
background-size: cover; | |
border-right: 10px solid #fff; | |
background-blend-mode: multiply; | |
background-color: rgba(217,91,67,1); | |
} | |
.bottom-right { | |
background: rgba(192,41,66,1); | |
border-bottom: 10px solid #fff; | |
border-right: 10px solid #fff; | |
} | |
.bottom-right:hover { | |
background-image: url('http://zvczvc.zz.vc/img/%EB%A9%94%ED%8A%B8%EB%A1%9C%ED%8F%B4%EB%A6%AC%ED%83%84%20%EB%AF%B8%EC%88%A0%EA%B4%80.jpg'); | |
background-size: cover; | |
border-right: 10px solid #fff; | |
background-blend-mode: multiply; | |
background-color:rgba(192,41,66,1); | |
} | |
.bottom-left { | |
background: rgba(84,36,55,1); | |
border-bottom: 10px solid #fff; | |
} | |
.bottom-left:hover { | |
background-image: url('http://zvczvc.zz.vc/img/5%20hartensteinabroad%20pont%20neuf%20bridge%20paris.JPG'); | |
background-size: cover; | |
background-blend-mode: multiply; | |
background-color: rgba(84,36,55,1); | |
} | |
.swing-panel { | |
position: absolute; | |
top: 0; | |
left: 0; | |
width: 100%; | |
height: 100%; | |
font-size: 2.5em; | |
color: #fff; | |
font-family: Oxygen, arial, sans-serif; | |
transform-origin: left 50%; | |
transform: rotateY(120deg); | |
transition: transform .5s ease; | |
letter-spacing: -.05em; | |
text-shadow: 0 1px 0 rgba(0,0,0,.2); | |
} | |
.top-right .swing-panel, | |
.bottom-right .swing-panel{ | |
transform-origin: right 50%; | |
transform: rotateY(-120deg); | |
} | |
.desc { | |
display: block; | |
position: absolute; | |
padding: 5%; | |
} | |
.label { | |
position: absolute; | |
font-family: Oxygen, arial, sans-serif; | |
color: #fff; | |
font-size: 1.2em; | |
opacity: 1; | |
transition: opacity .5s ease; | |
} | |
.grid-unit:hover .label { | |
opacity: 0; | |
} | |
.top-left .label { | |
bottom: 100px; | |
right: 80px; | |
transform: rotate(45deg); | |
} | |
.top-right .label { | |
bottom: 100px; | |
left: 80px; | |
transform: rotate(-45deg); | |
} | |
.bottom-left .label { | |
top: 100px; | |
right: 80px; | |
transform: rotate(-45deg); | |
} | |
.bottom-right .label { | |
top: 100px; | |
left: 80px; | |
transform: rotate(45deg); | |
} | |
.top-left .desc { | |
top: 0; | |
left: 0; | |
} | |
.top-right .desc { | |
top: 0; | |
right: 0; | |
} | |
.bottom-left .desc { | |
bottom: 0; | |
left: 0; | |
} | |
.bottom-right .desc { | |
bottom: 0; | |
right: 0; | |
} | |
.grid-unit:hover .swing-panel { | |
transform: rotateY(0deg); | |
} | |
.sphere { | |
position: absolute; | |
width: 200px; | |
height: 200px; | |
background-color: rgba(255,255,255,1); | |
border-radius: 500px; | |
transition: background-color .25s ease; | |
opacity: 1; | |
} | |
.top-left .sphere { | |
right: -100px; | |
bottom: -100px; | |
} | |
.top-right .sphere { | |
left: -100px; | |
bottom: -100px; | |
} | |
.bottom-right .sphere { | |
left: -100px; | |
top: -100px; | |
} | |
.bottom-left .sphere { | |
right: -100px; | |
top: -100px; | |
} | |
.grid-unit:hover .sphere { | |
background-color: rgba(255,255,255,0); | |
} | |
.icon { | |
position: absolute; | |
font-size: 2em; | |
transition: all .25s ease; | |
z-index: 5; | |
} | |
.bottom-left .icon { | |
top: 20px; | |
right: 30px; | |
color: rgba(84,36,55,1); | |
} | |
.bottom-right .icon { | |
top: 20px; | |
left: 22px; | |
color: rgba(192,41,66,1); | |
} | |
.top-right .icon { | |
bottom: 25px; | |
left: 20px; | |
color: rgba(217,91,67,1); | |
} | |
.top-left .icon { | |
bottom: 25px; | |
right: 35px; | |
color: rgba(236,208,120,1); | |
} | |
.grid-unit:hover .icon { | |
color: #fff; | |
font-size: 8em; | |
} |