Check out the Remix competition page for details of prizes and updates of the winners!
Random Background using pseudo elements and Sass SVG Animations for Social Icons CSS Animations
A Pen by Elior Shalev Tabeka on CodePen.
| <!-- this is the markup. you can change the details (your own name, your own avatar etc.) but don’t change the basic structure! --> | |
| <aside class="profile-card"> | |
| <header> | |
| <!-- here’s the avatar --> | |
| <a href="http://codepen.io/eliorshalev"> | |
| <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/250758/profile/profile-512_1.jpg"> | |
| </a> | |
| <!-- the username --> | |
| <h1>Elior Shalev Tabeka</h1> | |
| <!-- and role or location --> | |
| <h2>UX/UI Desinger & Front End Developer</h2> | |
| </header> | |
| <!-- bit of a bio; who are you? --> | |
| <div class="profile-bio"> | |
| <p>I have great passion for design and code, which started when I was in my teens. Since then, I've been through a lot. I've been working and studying a lot. My abilities as an autodidact have helped me to turn my favourite hobby into what has been my profession for the last fourteen years.</p> | |
| </div> | |
| <!-- some social links to show off --> | |
| <ul class="profile-social-links"> | |
| <!-- twitter - el clásico --> | |
| <li> | |
| <a href="https://twitter.com/EliorShalev"> | |
| <svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="40" height="40" viewBox="-249 151 100 100" enable-background="new -249 151 100 100" xml:space="preserve" class="twitter"><path stroke-linecap="round" d="M-160.5 177.1c-2.8 1.3-5.9 2.1-9.1 2.5 3.3-2 5.8-5.1 6.9-8.7 -3.1 1.8-6.4 3.1-10 3.8 -2.9-3.1-7-5-11.5-5 -8.7 0-15.8 7.1-15.8 15.8 0 1.2 0.1 2.4 0.4 3.6 -13.1-0.7-24.8-6.9-32.6-16.5 -1.4 2.3-2.1 5-2.1 7.9 0 5.5 2.8 10.3 7 13.1 -2.6-0.1-5-0.8-7.2-2 0 0.1 0 0.1 0 0.2 0 7.7 5.4 14 12.7 15.5 -1.3 0.4-2.7 0.6-4.2 0.6 -1 0-2-0.1-3-0.3 2 6.3 7.8 10.8 14.8 11 -5.4 4.2-12.2 6.8-19.6 6.8 -1.3 0-2.5-0.1-3.8-0.2 7 4.5 15.3 7.1 24.2 7.1 29.1 0 44.9-24.1 44.9-44.9 0-0.7 0-1.4 0-2C-165.3 183.1-162.6 180.3-160.5 177.1z"/></svg> | |
| </a> | |
| </li> | |
| <!-- envato – use this one to link to your marketplace profile --> | |
| <li> | |
| <a href="http://themeforest.net/user/EliorShalev"> | |
| <svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="40" height="40" viewBox="-249 151 100 100" enable-background="new -249 151 100 100" xml:space="preserve" class="evanto"><path stroke-linecap="round" d="M-173.7 159.7c-2.4-1.3-9.2-0.5-17.4 2 -14.4 9.8-26.5 24.3-27.4 47.6 -0.2 0.6-1.6-0.1-1.9-0.2 -3.9-7.4-5.4-15.3-2.2-26.6 0.6-1-1.4-2.2-1.7-1.9 -0.7 0.7-3.7 3.9-5.7 7.3 -9.8 16.9-3.4 38.7 13.7 48.2 17.1 9.5 38.7 3.4 48.2-13.7C-157 202.6-167.2 163.3-173.7 159.7z"/></svg> | |
| </a> | |
| </li> | |
| <!-- codepen - your codepen profile--> | |
| <li> | |
| <a href="http://codepen.io/eliorshalev"> | |
| <svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" width="40" height="40" viewBox="0 0 500 500" enable-background="new 0 0 500 500" xml:space="preserve" class="codepen"><path stroke-linecap="round" d="M249.5 15C120 15 15 120 15 249.5s105 234.5 234.5 234.5c129.5 0 234.5-105 234.5-234.5S379.1 15 249.5 15zM249.5 445.6c-108.1 0-196-87.9-196-196s87.9-196 196-196c108.1 0 196 87.9 196 196S357.6 445.6 249.5 445.6zM394.5 203.7c0-0.2-0.1-0.4-0.1-0.5 -0.1-0.4-0.1-0.7-0.2-1 -0.1-0.2-0.1-0.4-0.2-0.6 -0.1-0.3-0.2-0.6-0.3-0.9 -0.1-0.2-0.2-0.4-0.3-0.6 -0.1-0.3-0.3-0.6-0.4-0.8 -0.1-0.2-0.2-0.4-0.4-0.6 -0.2-0.3-0.3-0.5-0.5-0.8 -0.1-0.2-0.3-0.4-0.4-0.5 -0.2-0.2-0.4-0.5-0.6-0.7 -0.2-0.2-0.3-0.3-0.5-0.5 -0.2-0.2-0.5-0.4-0.7-0.6 -0.2-0.1-0.4-0.3-0.6-0.4 -0.1 0-0.1-0.1-0.2-0.2l-132.6-88.4c-4.2-2.8-9.6-2.8-13.8 0L110.1 195c-0.1 0-0.1 0.1-0.2 0.2 -0.2 0.1-0.4 0.3-0.6 0.4 -0.2 0.2-0.5 0.4-0.7 0.6 -0.2 0.2-0.3 0.3-0.5 0.5 -0.2 0.2-0.4 0.4-0.6 0.7 -0.1 0.2-0.3 0.4-0.4 0.5 -0.2 0.2-0.4 0.5-0.5 0.8 -0.1 0.2-0.2 0.4-0.4 0.6 -0.2 0.3-0.3 0.5-0.4 0.8 -0.1 0.2-0.2 0.4-0.3 0.6 -0.1 0.3-0.2 0.6-0.3 0.9 -0.1 0.2-0.1 0.4-0.2 0.6 -0.1 0.3-0.2 0.7-0.2 1 0 0.2-0.1 0.4-0.1 0.5 -0.1 0.5-0.1 1.1-0.1 1.6v88.4c0 0.5 0 1.1 0.1 1.6 0 0.2 0.1 0.4 0.1 0.5 0.1 0.4 0.1 0.7 0.2 1 0.1 0.2 0.1 0.4 0.2 0.6 0.1 0.3 0.2 0.6 0.3 0.9 0.1 0.2 0.2 0.4 0.3 0.6 0.1 0.3 0.3 0.6 0.4 0.8 0.1 0.2 0.2 0.4 0.4 0.6 0.2 0.3 0.3 0.5 0.5 0.8 0.1 0.2 0.3 0.4 0.4 0.5 0.2 0.2 0.4 0.5 0.6 0.7 0.2 0.2 0.3 0.3 0.5 0.5 0.2 0.2 0.5 0.4 0.7 0.6 0.2 0.1 0.4 0.3 0.6 0.4 0.1 0 0.1 0.1 0.2 0.2l132.6 88.4c2.1 1.4 4.5 2.1 6.9 2.1 2.4 0 4.8-0.7 6.9-2.1L389 304.1c0.1 0 0.1-0.1 0.2-0.2 0.2-0.1 0.4-0.3 0.6-0.4 0.2-0.2 0.5-0.4 0.7-0.6 0.2-0.2 0.3-0.3 0.5-0.5 0.2-0.2 0.4-0.4 0.6-0.7 0.1-0.2 0.3-0.4 0.4-0.5 0.2-0.2 0.4-0.5 0.5-0.8 0.1-0.2 0.2-0.4 0.4-0.6 0.2-0.3 0.3-0.5 0.4-0.8 0.1-0.2 0.2-0.4 0.3-0.6 0.1-0.3 0.2-0.6 0.3-0.9 0.1-0.2 0.1-0.4 0.2-0.6 0.1-0.3 0.2-0.7 0.2-1 0-0.2 0.1-0.4 0.1-0.5 0.1-0.5 0.1-1.1 0.1-1.6v-88.4C394.6 204.8 394.5 204.3 394.5 203.7zM262 140.3l97.7 65.1L316 234.6l-54-36.1V140.3zM237.1 140.3v58.1l-54 36.1 -43.6-29.2L237.1 140.3zM129.5 228.7l31.2 20.9 -31.2 20.9V228.7zM237.1 358.8l-97.7-65.1 43.6-29.2 54 36.1V358.8zM249.5 279l-44.1-29.5 44.1-29.5 44.1 29.5L249.5 279zM262 358.8v-58.1l54-36.1 43.6 29.2L262 358.8zM369.6 270.4l-31.2-20.9 31.2-20.9V270.4z"/></svg> | |
| </a> | |
| </li> | |
| <!-- add or remove social profiles as you see fit --> | |
| </ul> | |
| </aside> | |
| <!-- that’s all folks! --> |
Check out the Remix competition page for details of prizes and updates of the winners!
Random Background using pseudo elements and Sass SVG Animations for Social Icons CSS Animations
A Pen by Elior Shalev Tabeka on CodePen.
| /* go on then, styles go here.. knock yourself out! */ | |
| /* fonts */ | |
| @import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600,700); | |
| /* variables */ | |
| $background: hsl(166,70%,50%); | |
| $container-width: 500px; | |
| $elements: html, body, header, h1, h2, div, ul, li; | |
| $count: length($elements); | |
| $bio-background: #242423; | |
| $twitter: #55ACEE; | |
| $evanto: #82B541; | |
| $codepen: #000000; | |
| /* mixins */ | |
| // transforms | |
| @mixin transform($transforms) { | |
| -moz-transform: $transforms; | |
| -o-transform: $transforms; | |
| -ms-transform: $transforms; | |
| -webkit-transform: $transforms; | |
| transform: $transforms; | |
| } | |
| @mixin transform-origin($origin) { | |
| -moz-transform-origin: $origin; | |
| -o-transform-origin: $origin; | |
| -ms-transform-origin: $origin; | |
| -webkit-transform-origin: $origin; | |
| transform-origin: $origin; | |
| } | |
| @mixin rotate($deg) { | |
| @include transform(rotate(#{$deg}deg)); | |
| } | |
| @mixin scale($scale) { | |
| @include transform(scale($scale)); | |
| } | |
| // animation delay | |
| @mixin delay($time) { | |
| -webkit-animation-delay: $time + s; | |
| animation-delay: $time + s; | |
| } | |
| // pseudo elements | |
| @mixin psedu-element($element, $width, $height) { | |
| &:#{$element} { | |
| content: ''; | |
| position: absolute; | |
| width: $width; | |
| height: $height; | |
| @content; | |
| } | |
| } | |
| // border radius | |
| @mixin border-radius($radius) { | |
| -webkit-border-radius: $radius; | |
| border-radius: $radius; | |
| background-clip: padding-box; | |
| } | |
| @mixin border-top-radius($radius) { | |
| -webkit-border-top-right-radius: $radius; | |
| border-top-right-radius: $radius; | |
| -webkit-border-top-left-radius: $radius; | |
| border-top-left-radius: $radius; | |
| background-clip: padding-box; | |
| } | |
| @mixin border-bottom-radius($radius) { | |
| -webkit-border-bottom-right-radius: $radius; | |
| border-bottom-right-radius: $radius; | |
| -webkit-border-bottom-left-radius: $radius; | |
| border-bottom-left-radius: $radius; | |
| background-clip: padding-box; | |
| } | |
| /* loop */ | |
| // bubbles background | |
| @each $e in $elements { | |
| #{$e} { | |
| @include psedu-element(before, 220px, 220px) { | |
| @include scale(1); | |
| @include delay(random(20)); | |
| @include border-radius(100%); | |
| transition: transform 10s ease; | |
| animation: scaleUpAndFade 15s ease infinite; | |
| background: $background + random(255); | |
| top: random(800) + px; | |
| right: random(1400) + px; | |
| } | |
| @include psedu-element(after, 120px, 120px) { | |
| @include scale(1); | |
| @include delay(random(20)); | |
| @include border-radius(100%); | |
| transition: transform 10s ease; | |
| animation: scaleDownAndFade 15s ease infinite; | |
| background: $background + random(255); | |
| bottom: random(800) + px; | |
| left: random(1400) + px; | |
| } | |
| $count: $count + random(300); | |
| } | |
| } | |
| /* Styles */ | |
| *, | |
| *:before, | |
| *:after { | |
| box-sizing: border-box; | |
| } | |
| *:before, | |
| *:after { | |
| z-index: -1; | |
| } | |
| p { | |
| margin: 0; | |
| } | |
| html, body { | |
| height: 100%; | |
| overflow: hidden; | |
| font-family: 'Open Sans', sans-serif; | |
| margin: 0; | |
| } | |
| // container | |
| aside { | |
| @include border-radius(20px); | |
| max-width: $container-width; | |
| margin: 80px auto 0 auto; | |
| position: relative; | |
| text-align: center; | |
| @include psedu-element(before, 220px, 220px) { | |
| background: #fff; | |
| bottom: 0; | |
| right: 0; | |
| width: 100%; | |
| z-index: 999; | |
| height: 0; | |
| animation: slideUp .8s ease; | |
| } | |
| } | |
| // header | |
| header { | |
| position: relative; | |
| padding: 20px 0 0 0; | |
| cursor: default; | |
| img { | |
| @include border-radius(100%); | |
| animation: floating 3s ease infinite; | |
| width: 220px; | |
| min-height: 220px; | |
| background: #ffffff; | |
| padding: 10px; | |
| box-shadow: 0 0 20px #efeeec; | |
| } | |
| h1{ | |
| @include border-top-radius(20px); | |
| width: 100%; | |
| line-height: 24px; | |
| font-size: 24px; | |
| margin: -20px 0 0 0; | |
| color: #ffffff; | |
| padding: 40px 0 20px 0; | |
| background: #26d9af; | |
| } | |
| h2 { | |
| font-size: 16px; | |
| } | |
| } | |
| // content | |
| .profile-bio { | |
| @include border-bottom-radius(20px); | |
| cursor: default; | |
| border-top: 2px solid $bio-background; | |
| color: $bio-background; | |
| padding: 20px 20px 15px 20px; | |
| transition: all .8s ease; | |
| text-align: justify; | |
| margin-bottom: 20px; | |
| &:hover { | |
| border-top: 2px solid $bio-background; | |
| background: $bio-background; | |
| padding: 10px 20px 15px 20px; | |
| color: #26d9af; | |
| } | |
| } | |
| // Social Icons | |
| ul { | |
| margin: 0; | |
| padding: 0; | |
| width: $container-width; | |
| li { | |
| list-style: none; | |
| display: inline-block; | |
| width: 32.6%; | |
| text-align: center; | |
| padding: 0; | |
| svg { | |
| width: 50px; | |
| transition: all .8s ease; | |
| } | |
| } | |
| } | |
| .profile-social-links { | |
| .twitter { | |
| fill: $twitter; | |
| stroke: $twitter; | |
| stroke-width: 2px; | |
| stroke-dasharray: 0; | |
| stroke-dashoffset: 0; | |
| &:hover { | |
| animation: dash 2s ease; | |
| } | |
| } | |
| .evanto { | |
| stroke: $evanto; | |
| fill: $evanto; | |
| stroke-width: 2px; | |
| stroke-dasharray: 0; | |
| stroke-dashoffset: 0; | |
| &:hover { | |
| animation: dash 2s ease; | |
| } | |
| } | |
| .codepen { | |
| stroke: $codepen; | |
| fill: $codepen; | |
| stroke-width: 2px; | |
| stroke-dasharray: 0; | |
| stroke-dashoffset: 0; | |
| &:hover { | |
| animation: dash 2s ease; | |
| } | |
| } | |
| } | |
| // keyframes | |
| @keyframes scaleDownAndFade { | |
| 0% { | |
| @include scale(1); | |
| opacity: 1; | |
| } | |
| 40% { | |
| @include scale(.7); | |
| opacity: 0; | |
| } | |
| 100% { | |
| @include scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes floating { | |
| 0% { | |
| transform:translateY(0); | |
| } | |
| 60% { | |
| transform:translateY(15px); | |
| } | |
| 100% { | |
| transform:translateY(0); | |
| } | |
| } | |
| @keyframes scaleUpAndFade{ | |
| 0% { | |
| @include scale(1); | |
| opacity: 1; | |
| } | |
| 60% { | |
| @include scale(1.3); | |
| opacity: 0.3; | |
| } | |
| 100% { | |
| @include scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes slideUp { | |
| from { | |
| height: 100%; | |
| } | |
| to { | |
| height: 0; | |
| } | |
| } | |
| @keyframes dash { | |
| 0% { | |
| stroke-width: 2px; | |
| stroke-dasharray: 0; | |
| stroke-dashoffset: 0; | |
| } | |
| 50% { | |
| fill: transparent; | |
| stroke-width: 4px; | |
| stroke-dasharray: 100; | |
| stroke-dashoffset: 100; | |
| } | |
| 85% { | |
| stroke-width: 5px; | |
| stroke-dasharray: 0; | |
| stroke-dashoffset: 0; | |
| } | |
| 100% { | |
| stroke-width: 2px; | |
| } | |
| } | |
| // responsive | |
| @media screen and (max-width: 460px) { | |
| aside { | |
| zoom: 0.5; | |
| } | |
| } |