odyssey-theme
Our great sponsors
odyssey-theme | 2022-css-day_oh-snap | |
---|---|---|
1 | 1 | |
458 | 28 | |
8.1% | - | |
6.9 | 10.0 | |
about 2 months ago | over 1 year ago | |
Astro | Astro | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
odyssey-theme
-
Css: Fluid youtube embed
The browser support for all of this is pretty good, but if you must support legacy browsers there is a dirty fallback you can add to your css. I borrowed this snippet from this github repo by Jaydan Urwin.
2022-css-day_oh-snap
-
Svelte CSS Image Slider: with Bouncy Overscroll
/* Based on Jhey Thompkins CodePen: https://codepen.io/jh3y/pen/mdxggmO * and Adam Argyle git repo: https://github.com/argyleink/2022-css-day_oh-snap */ .thumbnails { display: flex; overflow-x: auto; border-radius: var(--spacing-2); gap: var(--spacing-4); background: var(--colour-dark); overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding: var(--spacing-4); scroll-padding: var(--spacing-4); } .thumbnails::-webkit-scrollbar { background: transparent; } .thumbnails::-webkit-scrollbar-thumb { background: var(--colour-alt); border-radius: var(--spacing-2); } .thumbnails::-webkit-scrollbar-track { background: var(--colour-dark); border-radius: var(--spacing-2); } .thumbnail { @media (width > 48rem) { outline: none; height: auto; display: grid; place-items: center; transition: flex 0.2s; flex: calc(0.2 + (var(--lerp, 0) * 0.8)); position: relative; } } .thumbnails > :not(.overscroller) { scroll-snap-align: center; scroll-snap-stop: always; } .thumbnail:nth-child(2) { scroll-snap-align: start; } .thumbnail:nth-last-child(2) { scroll-snap-align: end; } .overscroller { display: block; inline-size: 15vw; flex: 0 0 auto; } .thumbnail-item { width: 40vw; height: auto; aspect-ratio: 16 / 10; border-radius: var(--spacing-1); @media (width > 48rem) { display: inline-block; border-style: none; width: 125px; transition: transform 0.2s; transform-origin: 50% 100%; position: relative; transform: translateY(calc(var(--lerp) * -50%)); } @media (width > 64rem) { width: 144px; } @media (width > 80rem) { width: 196px; } } .thumbnail-item:hover { border: var(--spacing-px-2) solid var(--colour-light); } @media (width > 48rem) { .overscroller { display: none; } .thumbnails { position: absolute; top: 0; left: 0; overflow-x: unset; display: flex; align-items: center; justify-content: center; gap: var(--spacing-2); padding: var(--spacing-2); } } .thumbnails:hover, .thumbnails:focus-within { @media (width > 48rem) { --show: 1; height: var(--spacing-24); } } [aria-current='true'] .thumbnail-item { outline: var(--spacing-px-2) solid var(--colour-brand); } @media (width > 48rem) { .thumbnail .thumbnail-item { transition: outline 0.2s; outline: var(--colour-brand) var(--spacing-px) solid; } :is(.thumbnails:hover, .thumbnails:focus-within) .thumbnail-item { width: var(--max-width-full); } :is(.thumbnail:hover, .thumbnail:focus-visible) { --lerp: var(--lerp-0); z-index: 5; } .thumbnail:has(+ :is(.thumbnail:hover, .thumbnail:focus-visible)), :is(.thumbnail:hover, .thumbnail:focus-visible) + .thumbnail { --lerp: var(--lerp-1); z-index: 4; } .thumbnail:has(+ .thumbnail + :is(.thumbnail:hover, .thumbnail:focus-visible)), :is(.thumbnail:hover, .thumbnail:focus-visible) + .thumbnail + .thumbnail { --lerp: var(--lerp-2); z-index: 3; } .thumbnail:has(+ .thumbnail + .thumbnail + :is(.thumbnail:hover, .thumbnail:focus-visible)), :is(.thumbnail:hover, .thumbnail:focus-visible) + .thumbnail + .thumbnail + .thumbnail { --lerp: var(--lerp-3); z-index: 2; } .thumbnail:has(+ .thumbnail + .thumbnail + .thumbnail + :is(.thumbnail:hover, .thumbnail:focus-visible)), :is(.thumbnail:hover, .thumbnail:focus-visible) + .thumbnail + .thumbnail + .thumbnail + .thumbnail { --lerp: var(--lerp-4); z-index: 1; } } a { color: var(--colour-alt); } picture { display: flex; } img { background-position: center center; background-repeat: no-repeat; }
What are some alternatives?
hello-world-astro - An example of how to set your Astro application up to enable deployment on Kinsta App Hosting services.
examples - A community-driven repository showcasing examples using Remix 💿
perkedel-astro - Perkedel NTLF+ASTR. Perkedel Technologies website on Netlify with Astro framework
go-unsplash - Go Client for the Unsplash API
ezpie - Read programming blogs, learn programming, play challenges and a lot more!
sveltekit-css-hover-image-slider - SvelteKit CSS only :hover image slider
astro-portfolio - My portfolio rebuild in Astro
accessible-astro-components - A set of Accessible, easy to use, Front-end UI Components for Astro.
astrowind - ⭕️ AstroWind: A free template using Astro 4.0 and Tailwind CSS. Astro starter theme.
Tailwind CSS - A utility-first CSS framework for rapid UI development.
elegalio-template - Responsive and modern website template, made with React.
ios-landing-page - Landing page template for iOS apps