Log in
Start Coding
All
Accordion
border
Buttons
Cards
Carousel
Css Animation
Hexagons
Hover
Layout
Loaders
Menu
Navigation
Slider
Tables
Wave
All
P
I
X
E
L
D
E
V
C
O
D
E
C
S
S
i
s
a
w
e
s
o
m
e
P
I
X
E
L
D
E
V
C
O
D
E
C
S
S
i
s
a
w
e
s
o
m
e
@import url("https://fonts.googleapis.com/css?family=Roboto: 700"); *, *::before, *::after { padding: 0; margin: 0; box-sizing: border-box; } body { font-family: Roboto, sans-serif; background-color: #000; color: #fff; min-height: 100vh; display: grid; place-items: center; overflow: hidden; perspective: 600px; * { transform-style: preserve-3d; } } .scene { position: relative; * { position: absolute; } } .texts { font-size: 6vmin; animation: texts 12s infinite linear; &::after { content: ''; position: absolute; inset: -7.5em -1.5em; background-image: linear-gradient(to right, transparent, 10%, black, 90%, transparent); } } .text { animation: text 8s calc(var(--text) * -2s) infinite linear; color: hsl(calc(var(--text) * 90) 75% 75%); span { inset: -1em; display: grid; place-items: center; font-weight: 700; user-select: none; transform: translateY(calc((var(--i) - 6) * 0.6em)) rotateY(calc(var(--i) * 20deg)) translateZ(1.5em) rotateZ(-40deg); } } @keyframes texts { from { transform: rotateZ(0deg) rotateX(20deg) rotateZ(360deg); } to { transform: rotateZ(360deg) rotateX(20deg) rotateZ(0deg); } } @keyframes text { to { rotate: y -1turn; } }
31
3D Text Spiral Animation
By:
pixeldev
PIXELDEV CODE
body { margin: 0; padding: 0; height: 100vw; background: #f08080; } .threeD { color: darkgrey; white-space: nowrap; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; font-family: sans-serif; letter-spacing: 0.1em; transition: 0.3s; text-shadow: 1px 1px 0 grey, 1px 2px 0 grey, 1px 3px 0 grey, 1px 4px 0 grey, 1px 5px 0 grey, 1px 6px 0 grey, 1px 7px 0 grey, 1px 8px 0 grey, 5px 13px 15px black; } .threeD:hover { transition: 0.3s; transform: scale(1.1)translate(-50%, -50%); text-shadow: 1px -1px 0 grey, 1px -2px 0 grey, 1px -3px 0 grey, 1px -4px 0 grey, 1px -5px 0 grey, 1px -6px 0 grey, 1px -7px 0 grey, 1px -8px 0 grey, 5px -13px 15px black, 5px -13px 25px #808080; }
31
Cool 3D Hover Effect
By:
pixeldev
+ Add to cart
div { height: 100dvh; display: grid; place-items: center; padding: 0; margin: 0; } .btn-container { background-color: transparent; backdrop-filter: blur(10px); display: grid; place-items: center; position: relative; border: 1px solid; border-color: #ffff #ccc4; height: fit-content; padding: 0.9em; border-radius: 21px; &::after { content: ""; display: block; position: absolute; inset: 0; background-color: #fafafa80; border-radius: inherit; } &::before { content: ""; display: block; position: absolute; inset: -0.15em; background: conic-gradient( from var(--rotation), red, orange, yellow, green, blue, indigo, purple ); border-radius: inherit; filter: blur(1em) opacity(0.5); z-index: -1; animation: 2.5s linear infinite rotating; } &:has(:active) { &::before { filter: blur(0.25em) opacity(0.5); transform: scalex(0.9) scaley(0.8); } } } button { background-image: linear-gradient(0deg, #323232, #444); color: #fff; font-family: "VT323", monospace; font-size: 50px; padding: 0.25em 0.5em; border-radius: 15px; border: 1px solid #fff2; cursor: pointer; box-shadow: 0 0.1em 0.15em #3338; z-index: 1; & span { display: block; background-image: linear-gradient(0deg, #444, #323232); padding: 0.25em 0.5em; border-radius: 50px; border: 1px solid #3338; } &:active { transform: scalex(0.95) scaley(0.9); } } @keyframes rotating { from { --rotation: 0deg; } to { --rotation: 360deg; } }
31
Stylish Add to cart Button
By:
pixeldev
* { height: 100%; margin: 0; box-sizing: border-box; } body { display: flex; justify-content: center; align-items: center; } .box { margin: 50px auto; border: 15px solid var(--black); border-radius: 5px; } :root { --black: #08170a; --black-green: #0f2913; --green-black: #1e5225; --green-black-medium: #26915d; --green: #06ba78; --green-white-medium: #6ccf93; --green-white: #b8ffc0; } .box { width: 200px; height: 200px; background: var(--black-green); overflow: hidden; } .box .background { /* size of box plus tile size * 2 */ width: calc(100% + 100px); height: calc(100% + 100px); /* tile picture */ background: linear-gradient(124deg, var(--green-black) 12px, transparent 13px) -50px 0px, linear-gradient(236deg, var(--green-black-medium) 12px, transparent 13px) -50px 0px, linear-gradient(303deg, var(--green-white-medium) 12px, transparent 13px) -25px -12px, linear-gradient(58deg, var(--green-white) 12px, transparent 13px) 25px -12px; /* tile size */ background-size: 50px 50px; animation: slide 5s linear infinite; } /* move only the tile size */ @keyframes slide { 0% { transform: translate(-50px, 0); } 100% { transform: translate(0, -50px); } }
30
Animated Tile Background
By:
pixeldev
body { height: 100vh; display: grid; place-items: center; counter-reset: cnt 0; margin: 0; &:has(label:last-of-type > :checked) label:first-of-type { transform: translateX(50vmin); z-index: 0; } &:has(label:first-of-type > :checked) label:last-of-type { z-index: 0; } } label { display: inline-block; background-color: #eef; position: absolute; width: 35vmin; height: 50vmin; margin-left: -50vmin; border: 1vmin solid #889; border-radius: 5vmin; color: #889; cursor: pointer; -webkit-tap-highlight-color: transparent; input { appearance: none; } &:has(:checked) { background-color: #aac; transform: translateX(25vmin) scale(1.1); box-shadow: 0 0 25px 2px #223; color: #223; z-index: 1; & ~ label { z-index: -1; } & + label { transform: translateX(50vmin); z-index: 0; } } &::before { content: counter(cnt); counter-increment: cnt 1; position: absolute; display: grid; place-items: center; width: 100%; height: 100%; font-size: 15vmin; } }
30
Card Carousel
By:
pixeldev
body { background: #ede9de; } .container { left: 50%; margin: auto -50px; position: absolute; top: 50%; } .swing div { border-radius: 50%; float: left; height: 1em; width: 1em; } .swing div:nth-of-type(1) { background: -webkit-linear-gradient(left, #385c78 0%, #325774 100%); background: linear-gradient(to right, #385c78 0%, #325774 100%); } .swing div:nth-of-type(2) { background: -webkit-linear-gradient(left, #325774 0%, #47536a 100%); background: linear-gradient(to right, #325774 0%, #47536a 100%); } .swing div:nth-of-type(3) { background: -webkit-linear-gradient(left, #4a5369 0%, #6b4d59 100%); background: linear-gradient(to right, #4a5369 0%, #6b4d59 100%); } .swing div:nth-of-type(4) { background: -webkit-linear-gradient(left, #744c55 0%, #954646 100%); background: linear-gradient(to right, #744c55 0%, #954646 100%); } .swing div:nth-of-type(5) { background: -webkit-linear-gradient(left, #9c4543 0%, #bb4034 100%); background: linear-gradient(to right, #9c4543 0%, #bb4034 100%); } .swing div:nth-of-type(6) { background: -webkit-linear-gradient(left, #c33f31 0%, #d83b27 100%); background: linear-gradient(to right, #c33f31 0%, #d83b27 100%); } .swing div:nth-of-type(7) { background: -webkit-linear-gradient(left, #da3b26 0%, #db412c 100%); background: linear-gradient(to right, #da3b26 0%, #db412c 100%); } .shadow { clear: left; padding-top: 1.5em; } .shadow div { -webkit-filter: blur(1px); filter: blur(1px); float: left; width: 1em; height: .25em; border-radius: 50%; background: #e3dbd2; } .shadow .shadow-l { background: #d5d8d6; } .shadow .shadow-r { background: #eed3ca; } @-webkit-keyframes ball-l { 0%, 50% { -webkit-transform: rotate(0) translateX(0); transform: rotate(0) translateX(0); } 100% { -webkit-transform: rotate(50deg) translateX(-2.5em); transform: rotate(50deg) translateX(-2.5em); } } @keyframes ball-l { 0%, 50% { -webkit-transform: rotate(0) translate(0); transform: rotate(0) translateX(0); } 100% { -webkit-transform: rotate(50deg) translateX(-2.5em); transform: rotate(50deg) translateX(-2.5em); } } @-webkit-keyframes ball-r { 0% { -webkit-transform: rotate(-50deg) translateX(2.5em); transform: rotate(-50deg) translateX(2.5em); } 50%, 100% { -webkit-transform: rotate(0) translateX(0); transform: rotate(0) translateX(0); } } @keyframes ball-r { 0% { -webkit-transform: rotate(-50deg) translateX(2.5em); transform: rotate(-50deg) translateX(2.5em); } 50%, 100% { -webkit-transform: rotate(0) translateX(0); transform: rotate(0) translateX(0) } } @-webkit-keyframes shadow-l-n { 0%, 50% { opacity: .5; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: .125; -webkit-transform: translateX(-1.57em); transform: translateX(-1.75em); } } @keyframes shadow-l-n { 0%, 50% { opacity: .5; -webkit-transform: translateX(0); transform: translateX(0); } 100% { opacity: .125; -webkit-transform: translateX(-1.75); transform: translateX(-1.75em); } } @-webkit-keyframes shadow-r-n { 0% { opacity: .125; -webkit-transform: translateX(1.75em); transform: translateX(1.75em); } 50%, 100% { opacity: .5; -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes shadow-r-n { 0% { opacity: .125; -webkit-transform: translateX(1.75em); transform: translateX(1.75em); } 50%, 100% { opacity: .5; -webkit-transform: translateX(0); transform: translateX(0); } } .swing-l { -webkit-animation: ball-l .425s ease-in-out infinite alternate; animation: ball-l .425s ease-in-out infinite alternate; } .swing-r { -webkit-animation: ball-r .425s ease-in-out infinite alternate; animation: ball-r .425s ease-in-out infinite alternate; } .shadow-l { -webkit-animation: shadow-l-n .425s ease-in-out infinite alternate; animation: shadow-l-n .425s ease-in-out infinite alternate; } .shadow-r { -webkit-animation: shadow-r-n .425s ease-in-out infinite alternate; animation: shadow-r-n .425s ease-in-out infinite alternate; }
30
Newton’s Cradle Loader
By:
pixeldev
body { background-color: #3498DB; overflow: hidden; } div { margin: 175px auto; } .drop { position: relative; width: 20px; height: 20px; top: -30px; margin: 0 auto; background: #FFF; -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; -moz-animation-name: drip; -webkit-animation-name: drip; animation-name: drip; -moz-animation-timing-function: cubic-bezier(1,0,.91,.19); -webkit-animation-timing-function: cubic-bezier(1,0,.91,.19); animation-timing-function: cubic-bezier(1,0,.91,.19); -moz-animation-duration: 2s; -webkit-animation-duration: 2s; animation-duration: 2s; -moz-animation-iteration-count: infinite; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .drop:before { content: ""; position: absolute; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 30px solid rgba(255,255,255,1); top: -22px; } .wave { position: relative; opacity: 0; top: 0; width: 2px; height: 1px; border: #FFF 7px solid; -moz-border-radius: 300px / 150px; -webkit-border-radius: 300px / 150px; border-radius: 300px / 150px; -moz-animation-name: ripple; -webkit-animation-name: ripple; animation-name: ripple; -moz-animation-delay: 2s; -webkit-animation-delay: 2s; animation-delay: 2s; -moz-animation-duration: 2s; -webkit-animation-duration: 2s; animation-duration: 2s; -moz-animation-iteration-count: infinite; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .wave:after { content: ""; position: absolute; opacity: 0; top: -5px; left: -5px; width: 2px; height: 1px; border: #FFF 5px solid; -moz-border-radius: 300px / 150px; -webkit-border-radius: 300px / 150px; border-radius: 300px / 150px; -moz-animation-name: ripple-2; -webkit-animation-name: ripple-2; animation-name: ripple-2; -moz-animation-duration: 2s; -webkit-animation-duration: 2s; animation-duration: 2s; -moz-animation-iteration-count: infinite; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } @keyframes ripple { from { opacity: 1; } to { width: 600px; height: 300px; border-width: 1px; top: -100px; opacity: 0; } } @keyframes ripple-2 { 0% { opacity: 1; } 50% { opacity: 0; } 100% { width: 200px; height: 100px; border-width: 1px; top: 100px; left: 200px; } } @keyframes drip { to { top: 190px; } }
30
Drip Drop
By:
pixeldev
Push
body { width: 100%; height: 100vh; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; font-size: 3rem; background-color: rgba(225, 225, 225, 1); font-family: "Inter", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow: hidden; } button { all: unset; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); position: relative; border-radius: 999vw; background-color: rgba(0, 0, 0, 0.75); box-shadow: -0.15em -0.15em 0.15em -0.075em rgba(5, 5, 5, 0.25), 0.0375em 0.0375em 0.0675em 0 rgba(5, 5, 5, 0.1); } button::after { content: ""; position: absolute; z-index: 0; width: calc(100% + 0.3em); height: calc(100% + 0.3em); top: -0.15em; left: -0.15em; border-radius: inherit; background: linear-gradient(-135deg, rgba(5, 5, 5, 0.5), transparent 20%, transparent 100%); filter: blur(0.0125em); opacity: 0.25; mix-blend-mode: multiply; } button .button-outer { position: relative; z-index: 1; border-radius: inherit; transition: box-shadow 300ms ease; will-change: box-shadow; box-shadow: 0 0.05em 0.05em -0.01em rgba(5, 5, 5, 1), 0 0.01em 0.01em -0.01em rgba(5, 5, 5, 0.5), 0.15em 0.3em 0.1em -0.01em rgba(5, 5, 5, 0.25); } button:hover .button-outer { box-shadow: 0 0 0 0 rgba(5, 5, 5, 1), 0 0 0 0 rgba(5, 5, 5, 0.5), 0 0 0 0 rgba(5, 5, 5, 0.25); } .button-inner { --inset: 0.035em; position: relative; z-index: 1; border-radius: inherit; padding: 1em 1.5em; background-image: linear-gradient(135deg, rgba(230, 230, 230, 1), rgba(180, 180, 180, 1)); transition: box-shadow 300ms ease, clip-path 250ms ease, background-image 250ms ease, transform 250ms ease; will-change: box-shadow, clip-path, background-image, transform; overflow: clip; clip-path: inset(0 0 0 0 round 999vw); box-shadow: /* 1 */ 0 0 0 0 inset rgba(5, 5, 5, 0.1), /* 2 */ -0.05em -0.05em 0.05em 0 inset rgba(5, 5, 5, 0.25), /* 3 */ 0 0 0 0 inset rgba(5, 5, 5, 0.1), /* 4 */ 0 0 0.05em 0.2em inset rgba(255, 255, 255, 0.25), /* 5 */ 0.025em 0.05em 0.1em 0 inset rgba(255, 255, 255, 1), /* 6 */ 0.12em 0.12em 0.12em inset rgba(255, 255, 255, 0.25), /* 7 */ -0.075em -0.25em 0.25em 0.1em inset rgba(5, 5, 5, 0.25); } button:hover .button-inner { clip-path: inset(clamp(1px, 0.0625em, 2px) clamp(1px, 0.0625em, 2px) clamp(1px, 0.0625em, 2px) clamp(1px, 0.0625em, 2px) round 999vw); box-shadow: /* 1 */ 0.1em 0.15em 0.05em 0 inset rgba(5, 5, 5, 0.75), /* 2 */ -0.025em -0.03em 0.05em 0.025em inset rgba(5, 5, 5, 0.5), /* 3 */ 0.25em 0.25em 0.2em 0 inset rgba(5, 5, 5, 0.5), /* 4 */ 0 0 0.05em 0.5em inset rgba(255, 255, 255, 0.15), /* 5 */ 0 0 0 0 inset rgba(255, 255, 255, 1), /* 6 */ 0.12em 0.12em 0.12em inset rgba(255, 255, 255, 0.25), /* 7 */ -0.075em -0.12em 0.2em 0.1em inset rgba(5, 5, 5, 0.25); } button .button-inner span { position: relative; z-index: 4; font-family: "Inter", sans-serif; letter-spacing: -0.05em; font-weight: 500; color: rgba(0, 0, 0, 0); background-image: linear-gradient(135deg, rgba(25, 25, 25, 1), rgba(75, 75, 75, 1)); -webkit-background-clip: text; background-clip: text; transition: transform 250ms ease; display: block; will-change: transform; text-shadow: rgba(0, 0, 0, 0.1) 0 0 0.1em; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } button:hover .button-inner span { transform: scale(0.975); } button:active .button-inner { transform: scale(0.975); }
30
Push Button
By:
pixeldev
Polished Button Collection
Beautiful, shiny UI components with light sweep animations
Ocean Waves
Get Started
Emerald Forest
Explore More
Sunset Glow
Learn More
Deep Ocean
Dive In
Golden Hour
Discover
Chrome Polish
Premium
Royal Purple
Upgrade
Fresh Mint
Refresh
Electric Lime
Energise
Soft Lavender
Relax
Fire Ember
Ignite
Forest Depths
Explore
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { min-height: 100vh; background: #f8fafc; display: flex; align-items: center; justify-content: center; font-family: 'Inter', sans-serif; padding: 2rem; } .showcase { max-width: 900px; width: 100%; text-align: center; } .header { margin-bottom: 4rem; } .main-title { font-size: 3rem; font-weight: 700; color: #1f2937; margin-bottom: 1rem; letter-spacing: 2px; } .description { font-size: 1.2rem; color: #6b7280; font-weight: 400; letter-spacing: 0.5px; } .button-collection { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2.5rem; margin-bottom: 3rem; } .button-wrapper { display: flex; flex-direction: column; align-items: center; gap: 1rem; } .button-label { color: #64748b; font-size: 0.9rem; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; } .shine-button { position: relative; padding: 1.2rem 2.5rem; font-size: 1.1rem; font-weight: 600; border: none; border-radius: 12px; cursor: pointer; overflow: hidden; transition: all 0.3s ease; letter-spacing: 0.5px; min-width: 200px; } .shine-button::before { content: ''; position: absolute; height: 250%; width: 40px; top: 0; left: -60px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent); transform: rotate(45deg) translateY(-35%); animation: shine 3s ease infinite; } @keyframes shine { 0% { left: -80px; } 40% { left: calc(100% + 20px); } 100% { left: calc(100% + 20px); } } .button-ocean { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-ocean:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(102, 126, 234, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-emerald { background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%); color: #fff; box-shadow: 0 10px 30px rgba(17, 153, 142, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-emerald:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(17, 153, 142, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-sunset { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); color: #fff; box-shadow: 0 10px 30px rgba(240, 147, 251, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-sunset:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(240, 147, 251, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-deep { background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 50%, #2563eb 100%); color: #fff; box-shadow: 0 10px 30px rgba(30, 58, 138, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-deep:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(30, 58, 138, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-gold { background: linear-gradient(135deg, #f7971e 0%, #ffd200 100%); color: #fff; box-shadow: 0 10px 30px rgba(247, 151, 30, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-gold:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(247, 151, 30, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.4); } .button-chrome { background: linear-gradient(135deg, #bdc3c7 0%, #2c3e50 100%); color: #fff; box-shadow: 0 10px 30px rgba(45, 62, 80, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .button-chrome:hover { background: linear-gradient(135deg, #d5dbdb 0%, #34495e 100%); transform: translateY(-3px); box-shadow: 0 15px 40px rgba(45, 62, 80, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -1px 0 rgba(0, 0, 0, 0.1); } .button-purple { background: linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%); color: #fff; box-shadow: 0 10px 30px rgba(139, 92, 246, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-purple:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(139, 92, 246, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-mint { background: linear-gradient(135deg, #2dd4bf 0%, #06b6d4 100%); color: #fff; box-shadow: 0 10px 30px rgba(45, 212, 191, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-mint:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(45, 212, 191, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-electric { background: linear-gradient(135deg, #32ff32 0%, #65ff65 50%, #98ff98 100%); color: #fff; box-shadow: 0 10px 30px rgba(50, 255, 50, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-electric:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(50, 255, 50, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-lavender { background: linear-gradient(135deg, #9ca3af 0%, #c084fc 50%, #a78bfa 100%); color: #fff; box-shadow: 0 10px 30px rgba(192, 132, 252, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-lavender:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(192, 132, 252, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.4); } .button-fire { background: linear-gradient(135deg, #ff4500 0%, #ff6347 50%, #ffa500 100%); color: #fff; box-shadow: 0 10px 30px rgba(255, 69, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-fire:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(255, 69, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .button-forest { background: linear-gradient(135deg, #134e5e 0%, #71b280 100%); color: #fff; box-shadow: 0 10px 30px rgba(19, 78, 94, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); } .button-forest:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(19, 78, 94, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3); } .shine-button:active { transform: translateY(-1px); transition: transform 0.1s ease; } @media (max-width: 768px) { .button-collection { grid-template-columns: 1fr; gap: 2rem; } .main-title { font-size: 2.5rem; letter-spacing: 1px; } .description { font-size: 1.1rem; } }
30
Shine Gradient Buttons
By:
pixeldev
/* CSS */ body{ margin:0; height:100vh; display:grid; place-items:center; background:#fff; font-family: ui-sans-serif, Roboto, Arial; color:#0b1020; } .ccs-demo{ width:(320px, 92vw); display:grid; place-items:center; } .ccs-skel{ width:min(380px, 92vw); border-radius:22px; padding:14px; border:1px solid rgba(15,23,42,.3); background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.55)); box-shadow: 0 26px 60px rgba(2,6,23,.10); display:grid; gap:12px; } /* Shared shimmer base */ .ccs-skel :where(.ccs-skel__avatar, .ccs-skel__line){ background: linear-gradient(90deg, rgba(15,23,42,.06) 0%, rgba(15,23,42,.10) 35%, rgba(255,255,255,.65) 50%, rgba(15,23,42,.10) 65%, rgba(15,23,42,.06) 100%); background-size: 220% 100%; animation: ccs-shimmer 1.35s ease-in-out infinite; border:1px solid rgba(15,23,42,.3); } @keyframes ccs-shimmer{ 0%{ background-position: 120% 0; } 100%{ background-position: -120% 0; } } .ccs-skel__item{ display:flex; gap:12px; align-items:center; padding:10px; border-radius:16px; background: rgba(255,255,255,.45); border:1px solid rgba(15,23,42,.3); } .ccs-skel__avatar{ width:44px; height:44px; border-radius:14px; flex:0 0 auto; } .ccs-skel__lines{ flex:1; display:grid; gap:8px; } .ccs-skel__line{ height:12px; border-radius:999px; } /* Width helpers (edit these for variety) */ .ccs-w-75{ width:75%; } .ccs-w-70{ width:70%; } .ccs-w-60{ width:60%; } .ccs-w-50{ width:50%; } .ccs-w-45{ width:45%; } .ccs-w-40{ width:40%; }
29
List Loaders
By:
pixeldev
🗲
* { box-sizing: border-box; margin: 0; padding: 0; user-select: none; } body { width: 100vw; height: 100vh; background: rgb(100, 100, 100); display: flex; flex-direction: column; justify-content: center; align-items: center; } #battery { display: flex; flex-direction: column; justify-content: center; align-items: center; } #tip { height: 20px; width: 50px; background: rgb(200, 200, 200); } #base { border: 5px solid rgb(200, 200, 200); background: black; width: 125px; height: 250px; display: flex; flex-direction: column; justify-content: end; align-items: center; } #battery-progress-bar { position: relative; height: 100%; width: 100%; background: rgb(50, 150, 50); display: flex; font-weight: bold; font-size: 1.5rem; text-shadow: 0 0 15px rgb(200, 200, 200); justify-content: center; align-items: center; animation-name: batteryChange; animation-iteration-count: infinite; animation-direction: alternate; animation-duration: 15s; } #charging-symbol { position: absolute; color: rgb(200, 200, 200); text-shadow: 0 0 1px black, 0 0 2.5px black; font-size: 3rem; height: 250px; width: 125px; opacity: 0; display: flex; justify-content: center; align-items: center; animation-name: flashingCharge; animation-duration: 15s; animation-iteration-count: infinite; animation-direction: alternate; } @keyframes flashingCharge { 0% { opacity: 1 } 5% { opacity: 0 } 10% { opacity: 1 } 15% { opacity: 0 } 20% { opacity: 1 } 25% { opacity: 0 } 30% { opacity: 1 } 35% { opacity: 0 } 40% { opacity: 1 } 50% { opacity: 0 } } #charging-symbol:hover { opacity: 1; } @keyframes batteryChange { 0% { background: rgb(150, 50, 5); height: 0%; } 40% { background: rgb(150, 50, 5); } 50% { background: rgb(200, 175, 100); } 70% { background: rgb(50, 150, 50); } } @keyframes batteryChangeV2 { from { background: rgb(150, 50, 5); height: 0%; } to { background: rgb(50, 150, 50); height: 100%; } }
29
Battery Charging Progress
By:
pixeldev
body { position: absolute; width: 100%; height: 100%; top: 0; left: 0; margin: 0; display: flex; justify-content: center; align-items: center; background-color: black; } .loader { --sizeVar: 10vmax; position: relative; width: var(--sizeVar); height: var(--sizeVar); animation: loaderRotate 2000ms ease-in-out infinite; } .loader::before { content: ""; position: absolute; width: 200%; height: 200%; top: -50%; left: -50%; background: radial-gradient( circle, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 70% ); } .loader-square { position: absolute; width: 45%; height: 45%; background-color: #f25022; transform-origin: center; animation: squareAnim 4000ms cubic-bezier(1, 0, 0, 1) infinite, squareBlink 1000ms ease-in-out infinite; box-shadow: 0 0 8px #f25022aa, 0 0 32px #f2502277; } .loader-square:nth-of-type(2) { background-color: #7fba02; box-shadow: 0 0 8px #7fba02aa, 0 0 32px #7fba0277; animation-delay: -1000ms, -75ms; } .loader-square:nth-of-type(3) { background-color: #ffb902; box-shadow: 0 0 8px #ffb902aa, 0 0 32px #ffb90277; animation-delay: -2000ms, -150ms; } .loader-square:nth-of-type(4) { background-color: #01a4ef; box-shadow: 0 0 8px #01a4efaa, 0 0 32px #01a4ef77; animation-delay: -3000ms, -225ms; } @keyframes squareAnim { 0% { transform: translate(0, 0); } 25% { transform: translate(120%, 0); } 50% { transform: translate(120%, 120%); } 75% { transform: translate(0, 120%); } 100% { transform: translate(0, 0); } } @keyframes squareBlink { 0% { filter: brightness(110%); } 20% { filter: brightness(110%); } 50% { filter: brightness(80%); } 80% { filter: brightness(110%); } 100% { filter: brightness(110%); } } @keyframes loaderRotate { 0% { transform: scale(1); } 50% { transform: scale(0.7); } 100% { transform: scale(1); } }
29
Glowing Squares Loader
By:
pixeldev
Previous
1
…
20
21
22
23
24
Next