Skip to content

A lightweight, responsive, and fully interactive horizontal scroll gallery built with pure HTML, CSS, and modular JavaScript. Includes smooth scrolling and a refined UI. Ideal for portfolios, product showcases, and creative layouts.

Notifications You must be signed in to change notification settings

masterjaneza/Horizontal-Scroll-Gallery---V4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 

Repository files navigation

For Georgian Scroll Downโฌ‡๏ธ

๐ŸŽ  Horizontal Scroll Gallery | V4

A bold evolution of horizontal scrolling design. Version 4 transforms the previous versionโ€™s minimalist charm into a fully featured, visually immersive gallery. With smoother scroll behavior, custom UI elements, upgraded JavaScript architecture, and fine-tuned responsiveness โ€” this version is no longer just a gallery. Itโ€™s an experience.

Still lightweight. Still no external libraries.
Just pure HTML, CSS, and modular, vanilla JavaScript.


๐Ÿ”ง Improvements from V3

  • ๐ŸŽฏ Navigation Arrows Added โ€” No more guessing where to scroll next. V4 introduces left/right navigation buttons for manual control, complementing mouse/touch scroll.
  • ๐Ÿง  Smarter JavaScript โ€” Script has been split out into a clean app.js file. The logic is modular, easier to read, and much more maintainable.
  • ๐Ÿ’ป More Responsive Layout โ€” Grid and flex tweaks improve how the gallery behaves across ultra-wide and smaller screen sizes.
  • ๐Ÿ–Œ๏ธ Visual Refresh โ€” New background gradient, spacing, and subtle animations bring a more professional look and smoother feel.
  • ๐Ÿงผ Cleaner Codebase โ€” Reorganized folders, comments, and consistent naming. Ready to scale or collaborate on.
  • ๐ŸŽฎ Improved Scroll Interaction โ€” Refined scroll-to-horizontal behavior with better support across input types (wheel, touch, buttons).

๐ŸŽฏ Purpose

V4 pushes the concept of a horizontal image gallery into a more production-ready, interactive territory. Itโ€™s perfect for:

  • Developer/design portfolios
  • Product showcases
  • Horizontal landing pages
  • Interactive presentations or timelines

Whether you're looking for a lightweight scroll effect or a starting point for a high-impact user experience, this version offers a refined and flexible foundation.


๐Ÿš€ What It Does

  • Scrolls a container of images horizontally
  • Features smooth scroll and transition effects
  • Responsive layout that adapts across devices
  • Visually enhanced layout with padding, spacing, and gradients

๐Ÿง  How It Works

  • Gallery container is a display: flex row with overflow-x: scroll
  • JavaScript listens for wheel events and scrolls on the X-axis
  • Navigation buttons manually control scroll position
  • Smooth scrolling enabled via CSS (scroll-behavior: smooth)
  • Fully responsive using flex wrapping, percentage widths, and media queries

๐Ÿ–ผ๏ธ Design Notes

V4 makes it feel complete. Not just functional, but stylish and user-friendly.

Design improvements include:

  • ๐Ÿ’ซ Linear background gradients for subtle depth
  • ๐Ÿ“ Spacing and margins for breathing room
  • ๐Ÿ”˜ Custom arrow buttons for better navigation
  • ๐ŸŒ“ Designed primarily for light mode, but can be tweaked for dark

Things you might want to add next:

  • Scroll snapping (scroll-snap-type)
  • Lazy loading for images
  • Hover/active effects on gallery items
  • Captions or image overlays
  • Animation triggers with IntersectionObserver

โš™๏ธ Setup & Installation

  1. Clone the repository
    git clone https://github.com/masterjaneza/Horizontal-Scroll-Gallery---V4.git
    

Open the Project:

  • Open index.html in your browser
    or
  • Use Live Server in VS Code.

๐Ÿงช Browser Support

Fully compatible with modern browsers:

  • โœ… Chrome
  • โœ… Firefox
  • โœ… Safari
  • โœ… Edge
  • โœ… Arc
  • โœ… Brave

โš ๏ธ Older browsers may not support scroll-behavior: smooth or modern CSS variables.


๐Ÿ“Œ Known Limitations

  • No scroll snapping yet (but itโ€™s easy to add).
  • Scrollbar is visible by default โ€” can be styled or hidden.
  • No built-in accessibility for keyboard navigation (yet).


๐Ÿงช License

This project is open source โ€” use it, fork it, tweak it, remix it.
Just give credit where itโ€™s due. โœŒ๏ธ


๐ŸŒŸ Support the Project

If you like this or find it useful, give it a โญ star on GitHub.
Fork it, extend it, tag me โ€” letโ€™s inspire each other to scroll sideways in style.


โœ๏ธ Credits

Designed & developed by
Davit Janezashvili
aka MasterJaneza โ€“ Creative Developer & Designer


โš ๏ธ Note

๐Ÿ“ฑ For best visuals, use in light mode.
Some gradients or shadows may appear dull in dark mode.





๐ŸŽ  แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ˜แƒก แƒ’แƒแƒšแƒ”แƒ แƒ”แƒ | แƒ•แƒ”แƒ แƒกแƒ˜แƒ 4

แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ˜แƒก แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒก แƒ—แƒแƒ›แƒแƒ›แƒ˜ แƒ”แƒ•แƒแƒšแƒฃแƒชแƒ˜แƒ. แƒ•แƒ”แƒ แƒกแƒ˜แƒ 4 แƒแƒฅแƒชแƒ”แƒ•แƒก แƒฌแƒ˜แƒœแƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒ˜แƒกแƒขแƒฃแƒ  แƒฎแƒ˜แƒ‘แƒšแƒก แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœ, แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒแƒ“ แƒจแƒ—แƒแƒ›แƒ‘แƒ”แƒญแƒ“แƒแƒ• แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒแƒ“. แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒฅแƒ แƒแƒšแƒ˜แƒก แƒฅแƒชแƒ”แƒ•แƒ, แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜, แƒ“แƒแƒ˜แƒฎแƒ•แƒ”แƒฌแƒ JavaScript แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ แƒ“แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒ“แƒแƒ˜แƒฎแƒ•แƒ”แƒฌแƒ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ.

แƒ›แƒแƒ˜แƒœแƒช แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅแƒ˜. แƒ›แƒแƒ˜แƒœแƒช แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.
แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ HTML, CSS แƒ“แƒ แƒ›แƒแƒ“แƒฃแƒšแƒฃแƒ แƒ˜ Vanilla JavaScript.


๐Ÿ”ง แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜ V3-แƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—

  • ๐ŸŽฏ แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒฆแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ โ€” แƒแƒฆแƒแƒ  แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ’แƒแƒ›แƒแƒชแƒœแƒแƒ‘แƒ, แƒกแƒแƒ˜แƒ— แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒแƒฎแƒ•แƒ˜แƒแƒ—. V4 แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒ›แƒแƒ แƒชแƒฎแƒ”แƒœแƒ/แƒ›แƒแƒ แƒฏแƒ•แƒ”แƒœแƒ แƒฆแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒก, แƒ แƒแƒช แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒก.
  • ๐Ÿง  แƒ’แƒแƒœแƒ˜แƒ•แƒ แƒฃแƒšแƒ˜ JavaScript แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ โ€” แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ’แƒแƒ›แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜แƒ แƒกแƒฃแƒคแƒ—แƒ app.js แƒคแƒแƒ˜แƒšแƒจแƒ˜. แƒ™แƒแƒ“แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒฃแƒ แƒแƒ“ แƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜ แƒ“แƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒแƒ“แƒ˜.
  • ๐Ÿ’ป แƒฃแƒคแƒ แƒ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒขแƒ˜ โ€” grid แƒ“แƒ flex แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ”แƒ‘แƒ˜, แƒ แƒแƒช แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒแƒ“ แƒ”แƒ แƒ’แƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒฃแƒžแƒ”แƒ  แƒคแƒแƒ แƒ—แƒ”, แƒ˜แƒกแƒ” แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ  แƒ”แƒ™แƒ แƒแƒœแƒ”แƒ‘แƒก.
  • ๐Ÿ–Œ๏ธ แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ โ€” แƒแƒฎแƒแƒšแƒ˜ แƒคแƒแƒœแƒ˜แƒก แƒ’แƒ แƒแƒ“แƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜, แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒœแƒ˜แƒ›แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒžแƒ แƒแƒคแƒ”แƒกแƒ˜แƒแƒœแƒแƒšแƒฃแƒ  แƒ˜แƒ”แƒ แƒกแƒแƒฎแƒ”แƒก.
  • ๐Ÿงผ แƒฃแƒคแƒ แƒ แƒกแƒฃแƒคแƒ—แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ‘แƒแƒ–แƒ โ€” แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ, แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ โ€” แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ’แƒฃแƒœแƒ“แƒฃแƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
  • ๐ŸŽฎ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ˜แƒก แƒฅแƒชแƒ”แƒ•แƒ โ€” แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ˜แƒšแƒ˜ scroll-to-horizontal แƒฅแƒชแƒ”แƒ•แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒขแƒ˜แƒžแƒ”แƒ‘แƒ–แƒ”: แƒ‘แƒแƒ แƒ‘แƒแƒšแƒ˜, แƒจแƒ”แƒฎแƒ”แƒ‘แƒ, แƒฆแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒ˜.

๐ŸŽฏ แƒ›แƒ˜แƒ–แƒแƒœแƒ˜

V4 แƒแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒšแƒ”แƒ แƒ”แƒ˜แƒก แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒแƒก แƒ“แƒ แƒแƒฅแƒชแƒ”แƒ•แƒก แƒ›แƒแƒก แƒžแƒ แƒแƒ“แƒฃแƒฅแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ–แƒแƒ“แƒงแƒแƒคแƒœแƒแƒจแƒ˜ แƒ›แƒงแƒแƒค, แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒš แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒแƒ“. แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ แƒ˜แƒ:

  • แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒแƒœ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒžแƒแƒ แƒขแƒคแƒแƒšแƒ˜แƒแƒกแƒ—แƒ•แƒ˜แƒก
  • แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜แƒก แƒ•แƒ˜แƒขแƒ แƒ˜แƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒšแƒ”แƒœแƒ“แƒ˜แƒœแƒ’ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒžแƒ แƒ”แƒ–แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒœ แƒ“แƒ แƒแƒ˜แƒก แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

แƒ—แƒฃ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅแƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒ˜ แƒแƒœ แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒ˜แƒก UI-แƒกแƒ—แƒ•แƒ˜แƒก โ€” แƒ”แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ , แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ˜แƒš แƒ“แƒ แƒ›แƒแƒฅแƒœแƒ˜แƒš แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒก.


๐Ÿš€ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒ˜

  • แƒ’แƒแƒšแƒ”แƒ แƒ”แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ“แƒ”แƒ‘แƒ แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“
  • แƒ’แƒแƒแƒฉแƒœแƒ˜แƒ แƒ’แƒšแƒฃแƒ•แƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ˜แƒก แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒ˜แƒชแƒ˜แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜
  • แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒšแƒ”แƒ˜แƒแƒฃแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ”แƒ แƒ’แƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒก
  • แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ โ€” padding, spacing แƒ“แƒ gradients

๐Ÿง  แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก

  • แƒ’แƒแƒšแƒ”แƒ แƒ”แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ โ€” display: flex แƒ แƒ˜แƒ’แƒ˜ overflow-x: scroll-แƒ˜แƒ—
  • JavaScript แƒฃแƒกแƒ›แƒ”แƒœแƒก wheel แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒก แƒ“แƒ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ  แƒกแƒฅแƒ แƒแƒšแƒก
  • แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒฆแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ˜แƒก แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒแƒก แƒชแƒ•แƒšแƒ˜แƒก แƒฎแƒ”แƒšแƒ˜แƒ—
  • แƒ’แƒšแƒฃแƒ•แƒ˜ แƒกแƒฅแƒ แƒแƒšแƒ˜ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ CSS-แƒ˜แƒ— (scroll-behavior: smooth)
  • แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ โ€” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒฃแƒšแƒ˜ แƒกแƒ˜แƒ’แƒแƒœแƒ”แƒ”แƒ‘แƒ˜, แƒ›แƒ”แƒ“แƒ˜แƒ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ flex wrapping

๐Ÿ–ผ๏ธ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒก แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒ‘แƒ˜

V4-แƒก แƒกแƒซแƒ”แƒœแƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ’แƒ แƒซแƒœแƒ”แƒ‘แƒ. แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒฃแƒ แƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒกแƒขแƒ˜แƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜.

แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒก แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

  • ๐Ÿ’ซ แƒšแƒ˜แƒœแƒ”แƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒ แƒแƒ“แƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒคแƒแƒœแƒ–แƒ” โ€” แƒฆแƒ แƒ›แƒ แƒ“แƒ แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ˜แƒšแƒ˜ แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒ˜
  • ๐Ÿ“ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ แƒ’แƒ˜แƒœแƒ”แƒ‘แƒ˜ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜ แƒฐแƒแƒ แƒ›แƒแƒœแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • ๐Ÿ”˜ แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฆแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก
  • ๐ŸŒ“ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜ แƒ’แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜แƒ แƒฆแƒ˜แƒ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ–แƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ“แƒแƒ˜แƒฎแƒ•แƒ”แƒฌแƒ”แƒ‘แƒ แƒ›แƒฃแƒฅแƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก:

  • Scroll snapping (scroll-snap-type)
  • แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ แƒ›แƒแƒชแƒ˜ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ (lazy loading)
  • แƒฐแƒแƒ•แƒ”แƒ แƒ˜แƒก/แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜
  • แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ–แƒ” แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒ•แƒ แƒแƒœ แƒขแƒ˜แƒขแƒ แƒ”แƒ‘แƒ˜
  • แƒแƒœแƒ˜แƒ›แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ IntersectionObserver-แƒ˜แƒ—

๐Ÿงช แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ

แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ—แƒแƒœ:

  • โœ… Chrome
  • โœ… Firefox
  • โœ… Safari
  • โœ… Edge
  • โœ… Arc
  • โœ… Brave

โš ๏ธ แƒซแƒ•แƒ”แƒš แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ แƒแƒ  แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก scroll-behavior: smooth แƒแƒœ แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” CSS แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜.


๐Ÿ“Œ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒ˜

  • Scroll snapping แƒฏแƒ”แƒ  แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ (แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ“แƒแƒกแƒแƒ›แƒแƒขแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ)
  • Scrollbar แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒฎแƒ˜แƒšแƒฃแƒšแƒ˜แƒ โ€” แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒขแƒ˜แƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒœ แƒ“แƒแƒ›แƒแƒšแƒ•แƒ
  • แƒ™แƒšแƒแƒ•แƒ˜แƒแƒขแƒฃแƒ แƒ˜แƒ— แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ แƒฏแƒ”แƒ  แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜

๐Ÿงช แƒšแƒ˜แƒชแƒ”แƒœแƒ–แƒ˜แƒ

แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒ—แƒแƒ โ€” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ—, fork-แƒ˜แƒ—, แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ—, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ—.
แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒแƒ•แƒขแƒแƒ แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ. โœŒ๏ธ


๐ŸŒŸ แƒ›แƒฎแƒแƒ แƒ˜ แƒ“แƒแƒฃแƒญแƒ˜แƒ แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒก

แƒ—แƒฃ แƒ›แƒแƒ’แƒ”แƒฌแƒแƒœแƒแƒ— แƒแƒœ แƒ’แƒแƒ›แƒแƒ’แƒแƒ“แƒ’แƒแƒ—, แƒ“แƒแƒแƒญแƒ˜แƒ แƒ”แƒ— โญ GitHub-แƒ–แƒ”.
แƒ’แƒแƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ—, แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ—, แƒ“แƒแƒ’แƒ•แƒแƒ—แƒ”แƒ’แƒ”แƒ— โ€” แƒ”แƒ แƒ—แƒแƒ“ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ™แƒ แƒแƒšแƒ˜แƒก แƒ›แƒแƒ’แƒ˜แƒแƒก!


โœ๏ธ แƒแƒ•แƒขแƒแƒ แƒ˜

แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒก แƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒœแƒ”แƒšแƒ˜:
แƒ“แƒแƒ•แƒ˜แƒ— แƒฏแƒแƒœแƒ”แƒ–แƒแƒจแƒ•แƒ˜แƒšแƒ˜
aka MasterJaneza โ€“ แƒ™แƒ แƒ”แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜ แƒ“แƒ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ”แƒ แƒ˜


โš ๏ธ แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ

๐Ÿ“ฑ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ”แƒคแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒฆแƒ˜แƒ แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜.
แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ’แƒ แƒแƒ“แƒ˜แƒ”แƒœแƒขแƒ˜ แƒแƒœ แƒฉแƒ แƒ“แƒ˜แƒšแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก แƒ›แƒฃแƒฅ แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜.


About

A lightweight, responsive, and fully interactive horizontal scroll gallery built with pure HTML, CSS, and modular JavaScript. Includes smooth scrolling and a refined UI. Ideal for portfolios, product showcases, and creative layouts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •