Start Coding
All
Accordion
Buttons
Cards
Carousel
Css Animation
Hexagons
Hover
Layout
Loaders
Menu
Navigation
Slider
Tables
Wave
All
Name
Known As
Year
Bruce Wayne
Batman
1939
Clark Kent
Superman
1938
Tony Stark
Iron Man
1963
Peter Parker
Spider-Man
1962
Matt Murdock
Daredevil
1964
/* Modifier */ .c-tbl--purple th { background-color: hsl(330, 50%, 40%) } .c-tbl--purple td { border-color: hsl(330, 40%, 80%); } .c-tbl--purple tr th:last-of-type { border-inline-color: hsl(330, 50%, 40%); } .c-tbl--purple tr th:first-of-type { border-inline-start-color: hsl(330, 50%, 40%); } @media (hover: hover) { .c-tbl--purple tr:hover td { background-color: hsl(330, 60%, 95%); } } /** * c-tbl.css * @version 1.0.0 * @description Generic Table Component */ :where(.c-tbl) { border-collapse: separate; border-spacing: 0; table-layout: auto; width: 99.9%; } :where(.c-tbl thead th) { background-color: hsl(200, 60%, 40%); border-style: solid; border-block-start-width: 0; border-inline-end-width: 1px; border-block-end-width: 0; border-inline-start-width: 0; color: hsl(200, 60%, 99%); padding-block: 1.25ch; padding-inline: 2ch; text-transform: uppercase; } :where(.c-tbl td) { background-color: #FFF; border-color: hsl(200, 60%, 80%); border-style: solid; border-block-start-width: 0; border-inline-end-width: 1px; border-block-end-width: 1px; border-inline-start-width: 0; padding-block: 1.25ch; padding-inline: 2ch; } /* Because of `border-collapse: separate`, we need to */ :where(.c-tbl tr td:first-of-type) { border-inline-start-width: 1px; } /* For header-cells, we set the `border-color` of the first and last border to it's `background-color` */ :where(.c-tbl tr th:last-of-type) { border-inline-color: hsl(200, 60%, 40%); } :where(.c-tbl tr th:first-of-type) { border-inline-start-color: hsl(200, 60%, 40%); } /* Set `border-radius` on first and last rows, on first and last cell */ :where(.c-tbl thead th:first-of-type) { border-start-start-radius: 0.5rem; } :where(.c-tbl thead th:last-of-type) { border-start-end-radius: 0.5rem; } :where(.c-tbl tbody tr:last-of-type td:first-of-type) { border-end-start-radius: 0.5rem; } :where(.c-tbl tr:last-of-type td:last-of-type) { border-end-end-radius: 0.5rem; } /* ===== HOVER ===== */ @media (hover: hover) { :where(.c-tbl) tr:hover td { background-color: hsl(200, 60%, 95%); } } /* For demo */ body { font-family: ui-sans-serif, sans-serif; margin-block: 2ch; margin-inline: auto; max-inline-size: 64rem; padding-inline: 2ch; } button { padding: 1ch 2ch; }
102
Basic Table with rounded corners
By:
pixeldev
body { background-color:black; } #animation-container { height:100px; width:100px; position:relative; } #glowstick { background-color:deeppink; height:30px; width:1px; position:absolute; top:20%; left:50%; opacity:0; -webkit-transform-origin:bottom center; transform-origin:bottom center; -webkit-animation:spin 1.2s infinite; animation:spin 1.2s infinite; box-shadow:-3px 0px 20px 1px deeppink; } @-webkit-keyframes spin { 50% { opacity:1; } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes spin { 50% { opacity:1; } 100% { -webkit-transform: rotate(360deg); -ms-transform: rotate(360deg); transform: rotate(360deg); } }
102
Glow Loader
By:
rald_dev
Video
09 February 2019
Button - Fluent Design-Like
button
Shot
29 March 2019
Task List
task-list
app
Video
16 April 2019
Radio Buttons
Radio
Video
27 April 2019
User Interface - Flip Card
card
Video
14 July 2019
Link & Button - Shatter Effect
link
button
Video
18 August 2019
Switches
switch
Video
24 August 2019
Modal
modal
Video
26 August 2019
Modals (Modal v2)
modal
Video
29 August 2019
Off-Screen Menu
nav
menu
Video
06 November 2019
Parallax Tilt Effect Cards
card
tilt-effects
Video
11 November 2019
Plant App: Sign Up UI
app
animation
Video
23 December 2019
Block Revealing Effect
text
revealing-effect
dlar_dev-cards
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&display=swap'); /* DEFAULTS */ /* ================================================================================= */ *, *::before, *::after { box-sizing: border-box; } body { display: grid; place-content: center; min-height: 100vh; font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin: 0; } /* CARDS */ /* ================================================================================= */ .cards { display: flex; align-items: center; padding: 40px; overflow-x: scroll; min-height: 100vh; } .card { min-width: 300px; max-width: 300px; height: 400px; margin-left: -80px; border-radius: 40px; padding: 30px; box-shadow: -4px 4px 26px 2px hsla(184, 50%, 20%, .1); background: linear-gradient(to right bottom, hsl(0, 0%, 98%), hsl(0, 0%, 96%)); transition: all .3s; position: relative; } .card:first-child { margin-left: 0; } .card:hover, .card:focus-within { transform: translateY(-20px) } .card:hover+.card, .card:focus-within+.card { transform: translateX(80px); } .card-info { margin-bottom: 14px; } .card-info>span:first-child { margin-right: 6px; } .card-grad--video { color: transparent; background: linear-gradient(to right, hsl(91, 96%, 50%), hsl(159, 96%, 50%)); background-clip: text; } .card-grad--shot { color: transparent; background: linear-gradient(to right, hsl(294, 96%, 50%), hsl(201, 96%, 50%)); background-clip: text; } .card-info>span:last-child { color: hsl(0, 0%, 70%); } .card-heading { font-size: 1.6em; } .card-heading a:link { color: hsl(30, 50%, 40%); font-weight: bold; text-decoration: none; } .card-tags { display: flex; position: absolute; bottom: 50px; left: 30px; } .card-tag { color: hsl(0, 0%, 60%); padding: 5px 12px; border: 2px solid hsl(30, 40%, 70%); border-radius: 100px; text-transform: uppercase; margin-right: 10px; font-size: .9em; } /* ABS */ /* ================================================================================= */ .abs-site-link { position: fixed; bottom: 20px; left: 20px; color: hsla(0, 0%, 0%, .6); font-size: 16px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Open Sans', sans-serif; }
101
Cards Animation
By:
rald_dev
button
Hover
APPLY
Try For Free
Let's Try Now
.flex{ display:flex; flex-wrap:wrap; justify-content: center; } .btn{ padding: 20px; } /* 1 button styles*/ .button { border: 2px solid black; border-radius: 7px; padding:5px 25px; text-decoration: none; display: inline-block; line-height:1.6; background: linear-gradient(to right, black 50%, white 50%); background-size: 200% 100%; background-position: right bottom; transition: all .5s ease-out; } .button:hover { background-position: left bottom; } .text { text-align: center; font-size: 20px; line-height: 1.6; color: black; transition: all .5s ease-out; } .text:hover { color: white; } /* 2 button styles*/ .button-an { display: inline-block; border-radius: 7px; background-color: #f4511e; border: none; color: #FFFFFF; text-align: center; font-size: 16px; padding: 15px 25px; width:75px; transition: all 0.5s; cursor: pointer; } .button-an span { cursor: pointer; display: inline-block; position: relative; transition: 0.5s; } .button-an span:after { content: '\00bb'; position: absolute; opacity: 0; top: 0; right: -20px; transition: 0.5s; } .button-an:hover span { padding-right: 25px; } .button-an:hover span:after { opacity: 1; right: 0; } /*3 btn styles*/ .primary-btn { text-decoration:none; width: 150px; position: relative; display: inline-block; border-radius: 30px; background-color: transparent; color: #212490; text-align: center; font-size: 18px; font-weight:600; padding: 12px 0; transition: all 0.3s; padding-right: 30px; box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.06); border: 1px solid #212490; } .primary-btn .btn-icon { background-color: #212490; width: 80px; height: 45px; float: right; position: absolute; border-radius: 30px 30px 30px 0; right: 0px; top: 0px; transition: all 0.3s; } .btn-text { position: relative; z-index: 9999; } .btn-icon::after { content: ""; width: 0; height: 0; border-top: 45px solid #fff; border-right: 35px solid transparent; position: absolute; top: 0px; left: 0px; } .primary-btn:hover .btn-icon { width: 100%; border-radius: 30px; } .primary-btn:hover .btn-icon::after { display: none; opacity: 0.1; } .btn-icon i { position: absolute; right: 25px; top: 12px; color: #fff; } .primary-btn:hover { color: #fff!important; text-decoration:none; } /*4 button styles*/ .st-btn_main:focus,.st-btn_main:hover{ text-decoration:none; } .st-btn_main{ padding:0 27px; height:49px; display:inline-flex; justify-content:center; align-items:center; font-size:14px; font-weight:600; text-transform:capitalize; border-radius:7px; overflow:hidden; transform:translateZ(0); color:white; } .st-btn_main:before{ content:''; position:absolute; top:0; bottom:0; left:50%; width:450px; height:450px; margin:auto; background:#471fac; border-radius:50%; border:40px solid #0a064c; z-index:2; transform-origin:top center; transform:translateX(-50%) translateY(-5%) scale(.4); transition:transform .8s,border .7s; } .st-btn_main:after{ content:''; position:absolute; top:1px; right:1px; bottom:1px; left:1px; background:#E49349; border-radius:inherit; transform-origin:bottom center; transform:translateZ(0);overflow:hidden; } .st-btn_main p{ display:inline-block; overflow:hidden; } .st-btn_main p span{ position:relative; display:inline-block; transform:translateZ(0); z-index:3; } .st-btn_main:hover:before{ transform:translateX(-45%) translateY(0) scale(1); transform-origin:bottom center; border:60px solid #0a064c; transition:border .8s,-webkit-transform .9s; transition:transform .9s,border .8s; } /* 5 btn styles */ .glow-on-hover { padding: 15px 25px; text-decoration: none; border: none; outline: none; display: inline-block; color: #fff; background: #111; cursor: pointer; position: relative; z-index: 0; border-radius: 100px; } .glow-on-hover:before { content: ''; background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); position: absolute; top: -2px; left:-2px; background-size: 400%; z-index: -1; filter: blur(5px); width: calc(100% + 4px); height: calc(100% + 4px); animation: glowing 20s linear infinite; opacity: 0; transition: opacity .3s ease-in-out; border-radius: 100px; } .glow-on-hover:active { color: #000 } .glow-on-hover:active:after { background: transparent; } .glow-on-hover:hover:before { opacity: 1; } .glow-on-hover:after { z-index: -1; content: ''; position: absolute; width: 100%; height: 100%; background: #111; left: 0; top: 0; border-radius: 100px; } @keyframes glowing { 0% { background-position: 0 0; } 50% { background-position: 400% 0; } 100% { background-position: 0 0; } } @keyframes wobble{0%{transform:skewX(0deg)}25%{transform:skewX(10deg)}50%{transform:skewX(0deg)}75%{transform:skewX(-10deg)}100%{transform:skewX(0deg)}}
101
Animation: Buttons Hover
By:
rald_dev
Front
body{ width: 1366px; height:1366px; background:; } .first{ width: 475px; height: 217px; background: green; transform: rotate(90deg) rotateX(90deg) rotateZ(0deg) translate3d(4px,0px,-87px); overflow: hidden; visibility: hidden; position: absolute; transition: all 0.5s ease; } .first2{ width: 475px; height: 217px; background: green; transform: rotate(90deg) rotateX(90deg) rotateZ(0deg) translate3d(4px,0px,-238px); overflow: hidden; visibility: hidden; position: absolute; transition: all 0.5s ease; } .second{ width: 500px; height: 216px; background: red; transform: rotate(-60deg); overflow: hidden; } .third{ width: 500px; height: 216px; background:orange; background-position: center; background-size: 80%; transform: rotate(-60deg); overflow: hidden; visibility: visible; } .sides{ width: 150px; height: 125px; background: gray; position: absolute; } .s1{ transform: rotateX(60deg) translate3d(0px,31px,-162px); background: red; } .sides.s2 { transform: rotateX(-60deg)translate3d(0px, 31px, -54px); background: blue; } .s3{ transform: rotateX(60deg) translate3d(0px, 32px, 54px); background: green; } .s4{ transform: rotateX(-60deg) translate3d(0px, 32px, 161px); background: #9C27B0; } .s5{ background: gray; transform: translate3d(0px, 62px, 108px); } .s6{ background: darkgray; } .sides.S6{ transform: translate3d(0px, 62px, -109px); } @keyframes rotate{ 0%{transform: rotateY(0deg) rotateX(0deg) ;} 100%{transform: rotateY(360deg) rotateX(360deg);} } .main{ width: 250px; height: 250px; perspective: 800px; } .cube{ width: 150px; height: 250px; margin-left: 250px; background:; transform-style: preserve-3d; transform: rotateY(70deg); animation: rotate 15s linear infinite; }
101
3D Hexagon Animation
By:
rald_dev
Hover me
body{ } button { text-transform: uppercase; border: 2px solid #1E1A3E; background: rgb(112, 204, 243); color: #1E1A3E; padding: 10px; font-size: 58px; position: relative; box-sizing: border-box; transition: all 100ms ease; z-index: 1; padding: 10px 35px; } button:before { content:''; position: absolute; top: 0px; left: 0px; width: 0px; height: 88px; background: rgba(30, 26, 62, 1); transition: all 500ms ease; color: white !important; } button:hover:before { width: 100%; z-index: -1; } button:hover{ color:white; }
99
Button Hover
By:
rald_dev
* { -webkit-tap-highlight-color: transparent; } *:focus { outline: none; } html, body { height: 100%; } body { margin: 0; background-color: #0e3577; } #menu-btn-container { position: absolute; top: 50%; right: 0; left: 0; width: 39px; margin: 0 auto; transform: translateY(-50%) scale(2); } #menu-btn { width: 39px; overflow: hidden; } #menu-checkbox { display: none; } #menu-label { position: relative; display: block; height: 29px; cursor: pointer; } #menu-label:before, #menu-label:after, #menu-bar { position: absolute; left: 0; width: 100%; height: 5px; background-color: #fff; } #menu-label:before, #menu-label:after { content: ""; transition: 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55) left; } #menu-label:before { top: 0; } #menu-label:after { top: 12px; } #menu-bar { top: 24px; } #menu-bar:before { content: "MENU"; position: absolute; top: 5px; right: 0; left: 0; color: #fff; font-size: 12px; font-weight: bold; font-family: "Montserrat", Arial, Helvetica, sans-serif; text-align: center; } #menu-checkbox:checked + #menu-label:before { left: -39px; } #menu-checkbox:checked + #menu-label:after { left: 39px; } #menu-checkbox:checked + #menu-label #menu-bar:before { animation: moveUpThenDown 0.8s ease 0.2s forwards, shakeWhileMovingUp 0.8s ease 0.2s forwards, shakeWhileMovingDown 0.2s ease 0.8s forwards; } @keyframes moveUpThenDown { 0% { top: 0; } 50% { top: -27px; } 100% { top: -14px; } } @keyframes shakeWhileMovingUp { 0% { transform: rotateZ(0); } 25% { transform: rotateZ(-10deg); } 50% { transform: rotateZ(0deg); } 75% { transform: rotateZ(10deg); } 100% { transform: rotateZ(0); } } @keyframes shakeWhileMovingDown { 0% { transform: rotateZ(0); } 80% { transform: rotateZ(3deg); } 90% { transform: rotateZ(-3deg); } 100% { transform: rotateZ(0); } }
98
Hamburger Menu v2
By:
rald_dev
:root { --main-bg: #c9e8f7; --stroke-width: 6px; --stroke-color: #28354e; --cup-color: #ffffff; --cup-color-shadow: #dfded1; --cup-red: #c94f50; --cup-red-light: #fe6b68; --tebag-color: #f2f2f2; --teebag-content: #4cb5ae; --teabag-pores: #61616145; } html { box-sizing: border-box; } *, *::before, *::after { box-sizing: inherit; margin: 0; padding: 0; } .visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; white-space: nowrap; clip: rect(0 0 0 0); clip-path: inset(50%); } body { position: relative; display: flex; justify-content: center; align-items: center; padding: 1rem; min-height: 100vh; font-family: sans-serif; color: #ffffff; background-color: var(--main-bg); overflow: hidden; } .wrapper { display: flex; flex-direction: column; justify-content: center; align-items: center; max-height: 500px; } .eyes { display: flex; justify-content: space-between; } .eye { position: relative; border-radius: 150px 150px 0 0; border: var(--stroke-width) solid var(--stroke-color); border-bottom: none; } .eye::before, .eye::after { content: ""; position: absolute; bottom: calc(var(--stroke-width) / 2 * -1); display: block; width: var(--stroke-width); height: var(--stroke-width); border-radius: 50%; background-color: var(--stroke-color); } .eye:before { left: calc(var(--stroke-width) * -1); } .eye:after { right: calc(var(--stroke-width) * -1); } .teabag { position: relative; width: 130px; animation: teabag 6s ease-in infinite, brew 6s linear infinite; z-index: 1; } .teabag::before { content: ""; position: absolute; bottom: calc(100% - 15px); left: 50%; transform: translatex(-50%); display: block; width: 6px; height: 450px; background-color: var(--stroke-color); z-index: 2; } .teabag__top { position: relative; width: 100%; height: 0; border-bottom: 40px solid var(--tebag-color); border-left: 25px solid transparent; border-right: 25px solid transparent; } .teabag__top::before { content: ""; position: absolute; top: 15px; left: 50%; transform: translateX(-50%); display: block; width: 40px; height: 10px; border-radius: 10px; background-color: var(--main-bg); } .teabag__body { position: relative; width: 100%; height: 130px; padding: 30px 15px 15px; background-color: var(--tebag-color); border-radius: 0 0 2px 2px; } .teabag__body::before, .teabag__body::after { content: ""; position: absolute; bottom: 5px; display: block; width: 20px; height: 20px; background-color: var(--teabag-brewed); border-radius: 0 50% 50% 50%; rotate: 45deg; z-index: -1; } .teabag__body::before { left: 35px; animation: drop 6s ease-in 4.5s infinite; } .teabag__body::after { right: 35px; width: 15px; height: 15px; animation: drop 6s ease-in 4s infinite; } .teabag__content { width: 100%; height: 100%; padding: 30px 15px; background-color: var(--teebag-content); border-radius: 2px; transition: all .5s ease-out; } .teabag__eye { width: 20px; height: 10px; } .teabag__mouth { width: 20px; height: 10px; margin: 10px auto 0; border-radius: 0 0 150px 150px; background-color: var(--stroke-color); } .teabag__pores { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); display: grid; grid-template-columns: repeat(4, 12px); justify-content: space-between; gap: 10px; width: 100%; padding: 20px; transition: all .5s ease-out; } .teabag__pore { width: 12px; height: 12px; margin: auto; background-color: var(--teabag-pores); border-radius: 50%; } .teabag__pore:nth-child(1), .teabag__pore:nth-child(2), .teabag__pore:nth-child(11), .teabag__pore:nth-child(12), .teabag__pore:nth-child(13), .teabag__pore:nth-child(14) { grid-column-start: span 2; } .teabag__pore:nth-child(1), .teabag__pore:nth-child(13) { margin-right: 0; } .teabag__pore:nth-child(2), .teabag__pore:nth-child(14) { margin-left: 0; } .teabag__pore:nth-child(11) { margin-left: 0; } .teabag__pore:nth-child(12) { margin-right: 0; } .teabag__pore:nth-child(11), .teabag__pore:nth-child(12) { margin-top: 12px; } .teabag__pore:nth-child(13), .teabag__pore:nth-child(14) { margin-top: -8px; } .cup__body { position: relative; margin: 0 auto; width: 190px; height: 160px; padding: 40px 32px; border-radius: 20px 20px 50% 50%; background-color: var(--cup-color); z-index: 1; } .cup__eyes { --stroke-width: 8px; position: absolute; width: calc(100% - 64px); } .cup__eye { width: 30px; height: 15px; animation: blink 6s steps(1) infinite; } .cup__eye::before, .cup__eye::after { animation: hidden 6s steps(1) infinite; } .cup__mouth { position: relative; width: 40px; height: 28px; margin: 35px auto 0; border-radius: 5px 5px 60% 60%; background-color: var(--cup-red-light); background-image: radial-gradient(var(--cup-red) 50%, transparent 50%); background-position: 0 10px; background-repeat: no-repeat; } .cup__mouth::before { content: ""; position: absolute; top: -5px; left: 50%; transform: translatex(-50%); width: 85%; height: 10px; border-radius: 0 0 180% 180% / 0 0 300% 300%; background-color: var(--cup-color); } .cup__handle { position: relative; display: flex; justify-content: center; align-items: center; width: 85px; height: 85px; margin-left: auto; margin-top: -135px; margin: -135px -30px 0 auto; border-radius: 50%; background: linear-gradient(to right, var(--cup-color-shadow) 50%, var(--cup-color) 50%); z-index: 0; } .cup__handle::after { content: ""; display: block; width: 60%; height: 60%; border-radius: 50%; background: var(--main-bg); } .cup__saucer { position: relative; margin-top: 35px; } .cup__saucer::before { content: ""; position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); display: block; width: 300px; height: 50px; border-radius: 50%; background-color: #91d5f1; z-index: -1; } .cup__saucer-top { position: relative; width: 250px; height: 25px; margin-inline: auto; background-color: var(--cup-color); border-radius: 20px; z-index: 1; } .cup__saucer-bottom { width: 210px; height: 25px; margin: -8px auto 0; background: linear-gradient(to bottom, var(--cup-color-shadow) 60%, var(--cup-color) 60%); border-radius: 20px; } @keyframes blink { 20% { height: 30px; background-color: var(--stroke-color); border-bottom: 8px solid var(--stroke-color); border-radius: 50%; } } @keyframes hidden { 20% { visibility: hidden; } } @keyframes teabag { 0% { transform: translateY(-200px); } 20% { transform: translateY(150px); } 25% { transform: translateY(130px); } 35% { transform: translateY(150px); } 40% { transform: translateY(120px); } 50% { transform: translateY(130px); } 60%, 90% { transform: translateY(-50px); } 100% { transform: translateY(-200px); } } @keyframes brew { to { --teebag-content: #c48473; --teabag-pores: #5f3c334f; } } @keyframes drop { 10%, 100% { translate: 0 150px; opacity: 0; } }
98
Tea Brewing
By:
jusar
Simple CSS loaders
single html element css animation
.loader { --color: white; --size-mid: 6vmin; --size-dot: 1.5vmin; --size-bar: 0.4vmin; --size-square: 3vmin; display: block; position: relative; width: 50%; display: grid; place-items: center; } .loader::before, .loader::after { content: ''; box-sizing: border-box; position: absolute; } /** loader --1 **/ .loader.--1::before { width: var(--size-mid); height: var(--size-mid); border: 4px solid var(--color); border-top-color: transparent; border-radius: 50%; animation: loader-1 1s linear infinite; } .loader.--1::after { width: calc(var(--size-mid) - 2px); height: calc(var(--size-mid) - 2px); border: 2px solid transparent; border-top-color: var(--color); border-radius: 50%; animation: loader-1 0.6s linear reverse infinite; } @keyframes loader-1 { 100% { transform: rotate(1turn); } } /** loader --2 **/ .loader.--2::before, .loader.--2::after { width: var(--size-dot); height: var(--size-dot); background-color: var(--color); border-radius: 50%; opacity: 0; animation: loader-2 0.8s cubic-bezier(0.2, 0.32, 0, 0.87) infinite; } .loader.--2::after { animation-delay: 0.3s; } @keyframes loader-2 { 0%, 80%, 100% { opacity: 0; } 33% { opacity: 1; } 0%, 100% { transform: translateX(-4vmin); } 90% { transform: translateX(4vmin); } } /** loader --3 **/ .loader.--3::before, .loader.--3::after { width: var(--size-dot); height: var(--size-dot); background-color: var(--color); border-radius: 50%; animation: loader-3 1.2s ease-in-out infinite; } .loader.--3::before { left: calc(50% - 1.6vmin - var(--size-dot)); } .loader.--3::after { left: calc(50% + 1.6vmin); animation-delay: -0.4s; } @keyframes loader-3 { 0%, 100% { transform: translateY(-2.6vmin); } 44% { transform: translateY(2.6vmin); } } /** loader --4 **/ .loader.--4::before { height: var(--size-bar); width: 6vmin; background-color: var(--color); animation: loader-4 0.8s cubic-bezier(0, 0, 0.03, 0.9) infinite; } @keyframes loader-4 { 0%, 44%, 88.1%, 100% { transform-origin: left; } 0%, 100%, 88% { transform: scaleX(0); } 44.1%, 88% { transform-origin: right; } 33%, 44% { transform: scaleX(1); } } /** loader --5 **/ .loader.--5::before, .loader.--5::after { height: 3vmin; width: var(--size-bar); background-color: var(--color); animation: loader-5 0.6s cubic-bezier(0, 0, 0.03, 0.9) infinite; } .loader.--5::before { left: calc(50% - 1vmin); top: calc(50% - 3vmin); } .loader.--5::after { left: calc(50% + 1vmin); top: calc(50% - 1vmin); animation-delay: 0.2s; } @keyframes loader-5 { 0%, 88%, 100% { opacity: 0; } 0% { transform: translateY(-6vmin); } 33% { opacity: 1; } 33%, 88% { transform: translateY(3vmin); } } /** loader --6 **/ .loader.--6::before { width: var(--size-square); height: var(--size-square); background-color: var(--color); top: calc(50% - var(--size-square)); left: calc(50% - var(--size-square)); animation: loader-6 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; } @keyframes loader-6 { 0%, 100% { transform: none; } 25% { transform: translateX(100%); } 50% { transform: translateX(100%) translateY(100%); } 75% { transform: translateY(100%); } } /** loader --7 **/ .loader.--7::before, .loader.--7::after { width: var(--size-square); height: var(--size-square); background-color: var(--color); } .loader.--7::before { top: calc(50% - var(--size-square)); left: calc(50% - var(--size-square)); animation: loader-6 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; } .loader.--7::after { top: 50%; left: 50%; animation: loader-7 2.4s cubic-bezier(0, 0, 0.24, 1.21) infinite; } @keyframes loader-7 { 0%, 100% { transform: none; } 25% { transform: translateX(-100%); } 50% { transform: translateX(-100%) translateY(-100%); } 75% { transform: translateY(-100%); } } /** loader --8 **/ .loader.--8::before, .loader.--8::after { width: var(--size-dot); height: var(--size-dot); border-radius: 50%; background-color: var(--color); } .loader.--8::before { top: calc(50% + 4vmin); animation: loader-8-1 0.8s cubic-bezier(0.06, 0.01, 0.49, 1.18) infinite; } .loader.--8::after { opacity: 0; top: calc(50% - 2vmin); animation: loader-8-2 0.8s cubic-bezier(0.46,-0.1, 0.27, 1.07) 0.2s infinite; } @keyframes loader-8-1 { 0%, 55%, 100% { opacity: 0; } 0% { transform: scale(0.2); } 22% { opacity: 1; } 33%, 55% { transform: scale(1) translateY(-6vmin); } } @keyframes loader-8-2 { 0%, 100% { opacity: 0; } 33% { opacity: 0.3; } 0% { transform: scale(0); } 100% { transform: scale(4); } } /** loader --9 **/ .loader.--9::before, .loader.--9::after { width: var(--size-dot); height: var(--size-dot); border-radius: 50%; background-color: var(--color); animation: loader-9 0.42s cubic-bezier(0.39, 0.31, 0, 1.11) infinite; } .loader.--9::before { left: calc(50% - var(--size-dot) - 1.6vmin); } .loader.--9::after { left: calc(50% + 1.6vmin); animation-delay: 0.12s; } @keyframes loader-9 { 0%, 100% { opacity: 0; } 0% { transform: translate(-4vmin, -4vmin); } 66% { opacity: 1; } 66%, 100% { transform: none; } } /** miscs **/ .container { display: grid; grid-template-columns: repeat(3, 18vmin); grid-template-rows: repeat(3, 18vmin); grid-gap: 1vmin; } .item { background: rgba(255, 255, 255, 0.1); display: grid; place-items: center; border-radius: 4px; transition: opacity 0.4s ease; } .container:hover .item { opacity: 0.3; } .container:hover .item:hover { opacity: 1; } .page { margin: auto; } .header { margin-bottom: 4vmin; } .header-title { font-size: 3.75vmin; } .header-subtitle { font-size: 2vmin; text-transform: uppercase; opacity: 0.6; } html, body { display: flex; width: 100%; height: 100%; background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12); font-family: 'Noto Sans', sans-serif; color: white; text-align: center; letter-spacing: 0.3px; }
97
Simple CSS loaders
By:
rald_dev
body { height: 100vh; overflow-x: hidden; background: -webkit-gradient( linear, left top, left bottom, from(#333), to(#000) ); background: linear-gradient(to bottom, #333, #000); -webkit-transform-style: preserve-3d; transform-style: preserve-3d; position: relative; } .square { height: 150px; width: 150px; position: absolute; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform: translateX(-50%) rotateX(35deg) rotateY(0deg); transform: translateX(-50%) rotateX(35deg) rotateY(0deg); bottom: 100px; left: 50%; -webkit-animation: rotate 4s infinite linear; animation: rotate 4s infinite linear; } @-webkit-keyframes rotate { 100% { -webkit-transform: translateX(-50%) rotateX(35deg) rotateY(360deg); transform: translateX(-50%) rotateX(35deg) rotateY(360deg); } } @keyframes rotate { 100% { -webkit-transform: translateX(-50%) rotateX(35deg) rotateY(360deg); transform: translateX(-50%) rotateX(35deg) rotateY(360deg); } } .side { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 255, 0.2); -webkit-transform-style: preserve-3d; transform-style: preserve-3d; } .side-1, .side-2 { -webkit-transform: rotateY(90deg); transform: rotateY(90deg); background: rgba(0, 0, 255, 0.4); } .side-3, .side-4 { -webkit-transform: rotateX(90deg); transform: rotateX(90deg); background: rgba(0, 0, 255, 0.6); } .side-1 { left: 50%; } .side-2 { left: -50%; } .side-3 { top: 50%; } .side-4 { top: -50%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .side-5 { -webkit-transform: translateZ(-75px); transform: translateZ(-75px); } .side-6 { -webkit-transform: translateZ(75px); transform: translateZ(75px); } .ball { position: absolute; height: 50px; width: 50px; background: -webkit-gradient( linear, left bottom, right top, from(#111), color-stop(#555), to(#ccc) ); background: linear-gradient(to right top, #111, #555, #ccc); left: 50%; bottom: 180px; -webkit-transform: translate(-50%, -100%); transform: translate(-50%, -100%); border-radius: 50%; -webkit-animation: bounce 1.4s infinite linear; animation: bounce 1.4s infinite linear; } @-webkit-keyframes bounce { 50% { -webkit-transform: translate(-50%, -300%); transform: translate(-50%, -300%); } 100% { -webkit-transform: translate(-50%, -100%); transform: translate(-50%, -100%); } } @keyframes bounce { 50% { -webkit-transform: translate(-50%, -300%); transform: translate(-50%, -300%); } 100% { -webkit-transform: translate(-50%, -100%); transform: translate(-50%, -100%); } } .shadow { height: 80px; width: 80px; background: radial-gradient(transparent, #000); -webkit-box-shadow: 10px 10px 20px #000, -10px -10px 20px #000; box-shadow: 10px 10px 20px #000, -10px -10px 20px #000; -webkit-filter: blur(10px); filter: blur(10px); border-radius: 50%; -webkit-animation: show 1.4s infinite linear; animation: show 1.4s infinite linear; opacity: 1; } @-webkit-keyframes show { 50% { -webkit-box-shadow: 2px 2px 6px #000, -2px -2px 6px #000; box-shadow: 2px 2px 6px #000, -2px -2px 6px #000; height: 40px; width: 40px; } } @keyframes show { 50% { -webkit-box-shadow: 2px 2px 6px #000, -2px -2px 6px #000; box-shadow: 2px 2px 6px #000, -2px -2px 6px #000; height: 40px; width: 40px; } }
95
3d box-ball animation
By:
rald_dev
MacBook Air
@neoberg
contact me
body { background: #fff; } .macbook { width: 150px; height: 96px; position: absolute; left: 50%; top: 50%; margin: -75px 0 0 -48px; perspective: 500px; } .shadow { position: absolute; width: 60px; height: 0px; left: 40px; top: 160px; transform: rotateX(80deg) rotateY(0deg) rotateZ(0deg); box-shadow: 0 0 60px 40px rgba(0,0,0,0.3); animation: shadow infinite 7s ease; } .inner { z-index: 20; position: absolute; width: 150px; height: 96px; left: 0; top: 0; transform-style: preserve-3d; transform:rotateX(-20deg) rotateY(0deg) rotateZ(0deg); animation: rotate infinite 7s ease; } .screen { width: 150px; height: 96px; position: absolute; left: 0; bottom: 0; border-radius: 7px; background: #ddd; transform-style: preserve-3d; transform-origin: 50% 93px; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); animation: lid-screen infinite 7s ease; background-image: linear-gradient(45deg, rgba(0,0,0,0.34) 0%,rgba(0,0,0,0) 100%); background-position: left bottom; background-size: 300px 300px; box-shadow: inset 0 3px 7px rgba(255,255,255,0.5); } .screen .logo { position: absolute; width: 20px; height: 24px; left: 50%; top: 50%; margin: -12px 0 0 -10px; transform: rotateY(180deg) translateZ(0.1px); } .screen .face-one { width: 150px; height: 96px; position: absolute; left: 0; bottom: 0; border-radius: 7px; background: #d3d3d3; transform: translateZ(2px); background-image: linear-gradient(45deg,rgba(0,0,0,0.24) 0%,rgba(0,0,0,0) 100%); } .screen .face-one .camera { width: 3px; height: 3px; border-radius: 100%; background: #000; position: absolute; left: 50%; top: 4px; margin-left: -1.5px; } .screen .face-one .display { width: 130px; height: 74px; margin: 10px; background: url("https://upload.wikimedia.org/wikipedia/en/9/98/MacOS_Monterey_Desktop.png") no-repeat center center #000; background-size: 100% 100%; border-radius: 1px; position: relative; box-shadow: inset 0 0 2px rgba(0,0,0,1); } .screen .face-one .display .shade { position: absolute; left: 0; top: 0; width: 130px; height: 74px; background: linear-gradient(-135deg, rgba(255,255,255,0) 0%,rgba(255,255,255,0.1) 47%,rgba(255,255,255,0) 48%); animation: screen-shade infinite 7s ease; background-size: 300px 200px; background-position: 0px 0px; } .screen .face-one span { position: absolute; top: 85px; left: 57px; font-size: 6px; color: #666 } .body { width: 150px; height: 96px; position: absolute; left: 0; bottom: 0; border-radius: 7px; background: #cbcbcb; transform-style: preserve-3d; transform-origin: 50% bottom; transform: rotateX(-90deg); animation: lid-body infinite 7s ease; background-image: linear-gradient(45deg, rgba(0,0,0,0.24) 0%,rgba(0,0,0,0) 100%); } .body .face-one { width: 150px; height: 96px; position: absolute; left: 0; bottom: 0; border-radius: 7px; transform-style: preserve-3d; background: #dfdfdf; animation: lid-keyboard-area infinite 7s ease; transform: translateZ(-2px); background-image: linear-gradient(30deg, rgba(0,0,0,0.24) 0%,rgba(0,0,0,0) 100%); } .body .touchpad { width: 40px; height: 31px; position: absolute; left: 50%; top: 50%; border-radius: 4px; margin: -44px 0 0 -18px; background: #cdcdcd; background-image: linear-gradient(30deg, rgba(0,0,0,0.24) 0%,rgba(0,0,0,0) 100%); box-shadow: inset 0 0 3px #888; } .body .keyboard { width: 130px; height: 45px; position: absolute; left: 7px; top: 41px; border-radius: 4px; transform-style: preserve-3d; background: #cdcdcd; background-image: linear-gradient(30deg, rgba(0,0,0,0.24) 0%,rgba(0,0,0,0) 100%); box-shadow: inset 0 0 3px #777; padding: 0 0 0 2px; } .keyboard .key { width: 6px; height: 6px; background: #444; float: left; margin: 1px; transform: translateZ(-2px); border-radius: 2px; box-shadow: 0 -2px 0 #222; animation: keys infinite 7s ease; } .key.space { width: 45px; } .key.f { height: 3px; } .body .pad { width: 5px; height: 5px; background: #333; border-radius: 100%; position: absolute; } .pad.one { left: 20px; top: 20px; } .pad.two { right: 20px; top: 20px; } .pad.three { right: 20px; bottom: 20px; } .pad.four { left: 20px; bottom: 20px; } @keyframes rotate { 0% { transform: rotateX(-20deg) rotateY(0deg) rotateZ(0deg); } 5% { transform: rotateX(-20deg) rotateY(-20deg) rotateZ(0deg); } 20% { transform: rotateX(30deg) rotateY(200deg) rotateZ(0deg); } 25% { transform: rotateX(-60deg) rotateY(150deg) rotateZ(0deg); } 60% { transform: rotateX(-20deg) rotateY(130deg) rotateZ(0deg); } 65% { transform: rotateX(-20deg) rotateY(120deg) rotateZ(0deg); } 80% { transform: rotateX(-20deg) rotateY(375deg) rotateZ(0deg); } 85% { transform: rotateX(-20deg) rotateY(357deg) rotateZ(0deg); } 87% { transform: rotateX(-20deg) rotateY(360deg) rotateZ(0deg); } 100% { transform: rotateX(-20deg) rotateY(360deg) rotateZ(0deg); } } @keyframes lid-screen { 0% { transform: rotateX(0deg); background-position: left bottom; } 5% { transform: rotateX(50deg); background-position: left bottom; } 20% { transform: rotateX(-90deg); background-position: -150px top; } 25% { transform: rotateX(15deg); background-position: left bottom; } 30% { transform: rotateX(-5deg); background-position: right top; } 38% { transform: rotateX(5deg); background-position: right top; } 48% { transform: rotateX(0deg); background-position: right top; } 90% { transform: rotateX(0deg); background-position: right top; } 100% { transform: rotateX(0deg); background-position: right center; } } @keyframes lid-body { 0% { transform: rotateX(-90deg); } 50% { transform: rotateX(-90deg); } 100% { transform: rotateX(-90deg); } } @keyframes lid-keyboard-area { 0% { background-color: #dfdfdf; } 50% { background-color: #bbb; } 100% { background-color: #dfdfdf; } } @keyframes screen-shade { 0% { background-position: -20px 0px; } 5% { background-position: -40px 0px; } 20% { background-position: 200px 0; } 50% { background-position: -200px 0; } 80% { background-position: 0px 0px; } 85% { background-position: -30px 0; } 90% { background-position: -20px 0; } 100% { background-position: -20px 0px; } } @keyframes keys { 0% { box-shadow: 0 -2px 0 #222; } 5% { box-shadow: 1 -1px 0 #222; } 20% { box-shadow: -1px 1px 0 #222; } 25% { box-shadow: -1px 1px 0 #222; } 60% { box-shadow: -1px 1px 0 #222; } 80% { box-shadow: 0 -2px 0 #222; } 85% { box-shadow: 0 -2px 0 #222; } 87% { box-shadow: 0 -2px 0 #222; } 100% { box-shadow: 0 -2px 0 #222; } } @keyframes shadow { 0% { transform: rotateX(80deg) rotateY(0deg) rotateZ(0deg); box-shadow: 0 0 60px 40px rgba(0,0,0,0.3); } 5% { transform: rotateX(80deg) rotateY(10deg) rotateZ(0deg); box-shadow: 0 0 60px 40px rgba(0,0,0,0.3); } 20% { transform: rotateX(30deg) rotateY(-20deg) rotateZ(-20deg); box-shadow: 0 0 50px 30px rgba(0,0,0,0.3); } 25% { transform: rotateX(80deg) rotateY(-20deg) rotateZ(50deg); box-shadow: 0 0 35px 15px rgba(0,0,0,0.1); } 60% { transform: rotateX(80deg) rotateY(0deg) rotateZ(-50deg) translateX(30px); box-shadow: 0 0 60px 40px rgba(0,0,0,0.3); } 100% { box-shadow: 0 0 60px 40px rgba(0,0,0,0.3); } } .links { position: absolute; right: 20px; bottom: 20px; } .links a { color : #555; margin-left: 10px; text-decoration: none; }
94
Macbook Air
By:
rald_dev
.loader { border: 8px; border-top: 4px dotted #FF0035; border-radius:50%; width: 120px; height: 120px; animation: spin 3s linear infinite; margin: auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } 0% {background-color:#FF0035 ; opacity: 0.2;} 30% {background-color:white; opacity: 1.0;} 70% {background-color:white; opacity: 1.0;} 100% {background-color: #FF0035; opacity: 0.2;} } }
94
Red loading animation
By:
rald_dev
Previous
1
2
3
4
5
6
…
10
Next