Initializing...
Liveweave
expand_more
home
Home
data_object
CSS Explorer
arrow_outward
Palette
Color Explorer
arrow_outward
Polyline
Graphics Editor
arrow_outward
outbox_alt
Generative AI
arrow_outward
build
Tools
expand_more
restart_alt
Load base template
post_add
Generate Lorem ipsum...
code
Format HTML
code_blocks
Format CSS
data_object
Format JavaScript
library_add
Library
expand_more
A
Algolia JS
Animate CSS
Apex Charts JS
B
Bulma CSS
Bootstrap
C
Chart JS
Chartist
Create JS
D
D3
Dojo
F
Foundation
Fullpage JS
G
Granim JS
Google Charts
H
Halfmoon
J
jQuery
M
Materialize
Moment JS
Masonry JS
Milligram CSS
P
Pure CSS
Primer CSS
Popper JS
Pattern CSS
Picnic CSS
R
React JS
Raphael JS
Raisin CSS
S
Semantic UI
Skeleton CSS
Spectre CSS
Tachyons CSS
T
Tailwind
Three JS
U
UI Kit
Vis JS
W
Water CSS
download
Download
expand_more
developer_mode
Download as HTML
folder_zip
Download as .ZIP
cloud_upload
Save
account_circle
Login
settings
Settings
expand_more
14
px
Live mode
Night mode
Line number
Mini map
Word wrap
sync_alt
Reset Settings
smart_display
Run
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Minimalist Product Gallery</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="gallery"> <div class="filter"> <button class="filter-btn" data-filter="all">All</button> <button class="filter-btn" data-filter="category1">Category 1</button> <button class="filter-btn" data-filter="category2">Category 2</button> <button class="filter-btn" data-filter="category3">Category 3</button> </div> <div class="products"> <div class="product category1">Product 1</div> <div class="product category2">Product 2</div> <div class="product category3">Product 3</div> <div class="product category1">Product 4</div> <div class="product category2">Product 5</div> <div class="product category3">Product 6</div> </div> </div> <script src="script.js"></script> </body> </html>
body { font-family: Arial, sans-serif; margin: 0; padding: 0; } .gallery { max-width: 800px; margin: 0 auto; padding: 20px; } .filter { margin-bottom: 20px; } .filter-btn { padding: 5px 10px; margin-right: 10px; background-color: #f0f0f0; border: 1px solid #ccc; border-radius: 5px; cursor: pointer; } .products { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; } .product { padding: 20px; border: 1px solid #ccc; border-radius: 5px; } .category1 { background-color: #f9c5d1; } .category2 { background-color: #a1e8cc; } .category3 { background-color: #f7f48b; }
const filterBtns = document.querySelectorAll('.filter-btn'); const products = document.querySelectorAll('.product'); filterBtns.forEach(btn => { btn.addEventListener('click', () => { const filter = btn.getAttribute('data-filter'); products.forEach(product => { product.style.display = 'none'; if (product.classList.contains(filter) || filter === 'all') { product.style.display = 'block'; } }); }); }); ```