A Pen by Razafindrakoto on CodePen.
Created
June 20, 2018 06:57
-
-
Save sedera-tax/e4e2548e730c642be3f39dd7eb7a632a to your computer and use it in GitHub Desktop.
Penguin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="heart"></div> | |
<div class="penguin"> | |
<div class="penguin-bottom"> | |
<div class="right-hand"></div> | |
<div class="left-hand"></div> | |
<div class="right-feet"></div> | |
<div class="left-feet"></div> | |
</div> | |
<div class="penguin-top"> | |
<div class="right-cheek"></div> | |
<div class="left-cheek"></div> | |
<div class="belly"></div> | |
<div class="right-eye"> | |
<div class="sparkle"></div> | |
</div> | |
<div class="left-eye"> | |
<div class="sparkle"></div> | |
</div> | |
<div class="blush-right"></div> | |
<div class="blush-left"></div> | |
<div class="beak-top"></div> | |
<div class="beak-bottom"></div> | |
</div> | |
</div> | |
<div class="ball" id="ball1"></div> | |
<div class="ball" id="ball2"></div> | |
<div id="ball"></div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if 'ontouchstart' in window == false | |
$("body").mousemove (e) -> | |
moveX = e.pageX * -1 / 25 + 'px' | |
moveY = e.pageY * -1 / 25 + 'px' | |
$('.penguin').css 'top', 'calc(10% + ' + moveY + ')' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.penguin { | |
/* change code below */ | |
--penguin-skin: gray; | |
--penguin-belly: white; | |
--penguin-beak: orange; | |
/* change code above */ | |
position: relative; | |
margin: auto; | |
display: block; | |
margin-top: 5%; | |
width: 300px; | |
height: 300px; | |
} | |
.penguin-top { | |
top: 10%; | |
left: 25%; | |
background: var(--penguin-skin, gray); | |
width: 50%; | |
height: 45%; | |
border-radius: 70% 70% 60% 60%; | |
} | |
.penguin-bottom { | |
top: 40%; | |
left: 23.5%; | |
background: var(--penguin-skin, gray); | |
width: 53%; | |
height: 45%; | |
border-radius: 70% 70% 100% 100%; | |
} | |
.right-hand { | |
top: 5%; | |
left: 25%; | |
background: var(--penguin-skin, gray); | |
width: 30%; | |
height: 60%; | |
border-radius: 30% 30% 120% 30%; | |
transform: rotate(130deg); | |
z-index: -1; | |
animation-duration: 3s; | |
animation-name: wave; | |
animation-iteration-count: infinite; | |
transform-origin:0% 0%; | |
animation-timing-function: linear; | |
} | |
.left-hand { | |
top: 0%; | |
left: 75%; | |
background: var(--penguin-skin, gray); | |
width: 30%; | |
height: 60%; | |
border-radius: 30% 30% 30% 120%; | |
transform: rotate(-45deg); | |
z-index: -1; | |
} | |
.right-cheek { | |
top: 15%; | |
left: 35%; | |
background: var(--penguin-belly, white); | |
width: 60%; | |
height: 70%; | |
border-radius: 70% 70% 60% 60%; | |
} | |
.left-cheek { | |
top: 15%; | |
left: 5%; | |
background: var(--penguin-belly, white); | |
width: 60%; | |
height: 70%; | |
border-radius: 70% 70% 60% 60%; | |
} | |
.belly { | |
top: 60%; | |
left: 2.5%; | |
background: var(--penguin-belly, white); | |
width: 95%; | |
height: 100%; | |
border-radius: 120% 120% 100% 100%; | |
} | |
.right-feet { | |
top: 85%; | |
left: 60%; | |
background: var(--penguin-beak, orange); | |
width: 15%; | |
height: 30%; | |
border-radius: 50% 50% 50% 50%; | |
transform: rotate(-80deg); | |
z-index: -2222; | |
} | |
.left-feet { | |
top: 85%; | |
left: 25%; | |
background: var(--penguin-beak, orange); | |
width: 15%; | |
height: 30%; | |
border-radius: 50% 50% 50% 50%; | |
transform: rotate(80deg); | |
z-index: -2222; | |
} | |
.right-eye { | |
top: 45%; | |
left: 60%; | |
background: black; | |
width: 15%; | |
height: 17%; | |
border-radius: 50%; | |
} | |
.left-eye { | |
top: 45%; | |
left: 25%; | |
background: black; | |
width: 15%; | |
height: 17%; | |
border-radius: 50%; | |
} | |
.sparkle { | |
top: 25%; | |
left: 15%; | |
background: white; | |
width: 35%; | |
height: 35%; | |
border-radius: 50%; | |
} | |
.blush-right { | |
top: 65%; | |
left: 15%; | |
background: pink; | |
width: 15%; | |
height: 10%; | |
border-radius: 50%; | |
} | |
.blush-left { | |
top: 65%; | |
left: 70%; | |
background: pink; | |
width: 15%; | |
height: 10%; | |
border-radius: 50%; | |
} | |
.beak-top { | |
top: 60%; | |
left: 40%; | |
background: var(--penguin-beak, orange); | |
width: 20%; | |
height: 10%; | |
border-radius: 50%; | |
} | |
.beak-bottom { | |
top: 65%; | |
left: 42%; | |
background: var(--penguin-beak, orange); | |
width: 16%; | |
height: 10%; | |
border-radius: 50%; | |
} | |
@keyframes wave { | |
10% { | |
transform: rotate(110deg); | |
} | |
20% { | |
transform: rotate(130deg); | |
} | |
30% { | |
transform: rotate(110deg); | |
} | |
40% { | |
transform: rotate(130deg); | |
} | |
} | |
body { | |
/*background:#cacaca;*/ | |
background: linear-gradient(65deg, #CCFFFF, #FFCCCC); | |
} | |
.penguin * { | |
position: absolute; | |
} | |
.ball { | |
width: 40px; | |
height: 40px; | |
margin: 50 auto; | |
position: fixed; | |
background: linear-gradient( | |
60deg, | |
var(--penguin-belly, white), | |
var(--penguin-beak, orange) | |
); | |
border-radius: 50%; | |
} | |
#ball1 { | |
left:20%; | |
} | |
#ball2 { | |
left:65%; | |
transform:scale(2); | |
} | |
#ball1:hover { | |
transform: scale(2); | |
} | |
.heart { | |
position: absolute; | |
margin: auto; | |
top: 0; | |
right: 0; | |
bottom: 70%; | |
left: 0; | |
background-color: red; | |
height: 50px; | |
width: 50px; | |
transform: rotate(-45deg); | |
animation-name: beat; | |
animation-duration: 1s; | |
animation-iteration-count: infinite; | |
} | |
.heart:after { | |
background-color: red; | |
content: ""; | |
border-radius: 50%; | |
position: absolute; | |
width: 50px; | |
height: 50px; | |
top: 0px; | |
left: 25px; | |
} | |
.heart:before { | |
content: ""; | |
background-color: red; | |
border-radius: 50%; | |
position: absolute; | |
width: 50px; | |
height: 50px; | |
top: -25px; | |
left: 0px; | |
} | |
@keyframes beat { | |
0% { | |
transform: scale(1) rotate(-45deg); | |
} | |
50% { | |
transform: scale(0.6) rotate(-45deg); | |
} | |
} | |
#ball { | |
width: 100px; | |
height: 100px; | |
margin: 100px auto; | |
position: relative; | |
border-radius: 50%; | |
background: grey; | |
animation-name: bounce; | |
animation-duration: 1s; | |
animation-iteration-count: infinite; | |
} | |
@keyframes bounce{ | |
0% { | |
top: 0px; | |
} | |
50% { | |
top: 249px; | |
width: 130px; | |
height: 70px; | |
} | |
100% { | |
top: 0px; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment