CSS Flexbox Photo Gallery
Codice Sorgente
- index.html
- styles.css
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Photo Gallery</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<header class="header">
<h1>css flexbox photo gallery</h1>
</header>
<div class="gallery">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/1.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/2.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/3.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/4.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/5.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/6.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/7.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/8.jpg">
<img src="https://cdn.freecodecamp.org/curriculum/css-photo-gallery/9.jpg">
</div>
</body>
</html>
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: sans-serif;
background: #f5f6f7;
}
.header {
text-align: center;
text-transform: uppercase;
padding: 32px;
background-color: #0a0a23;
color: #fff;
border-bottom: 4px solid #fdb347;
}
.gallery {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 16px;
max-width: 1400px;
margin: 0 auto;
padding: 20px 10px;
}
.gallery img {
width: 100%;
max-width: 350px;
height: 300px;
object-fit: cover;
border-radius: 10px;
}
.gallery::after {
content: "";
width: 350px;
}
Cosa Ho Imparato:
- Utilizzo di Flexbox (
display: flex,flex-wrap,justify-content,gap) per creare una gallery responsive e visivamente curata - Trucchi di layout responsive (
max-width,margin: auto) - Styling delle immagini con
object-fit: covereborder-radiusper un look moderno e rifinito - Utilità degli pseudo-elementi (
::after) per il controllo del layout
Tempo: 1 ora e 10 min totali
Nota Personale: Questo è il mio progetto preferito finora — adoro letteralmente il risultato visivo. Vedere il tutto prendere forma è stato davvero appagante e motivante. Sto ora lavorando a un vademecum: un handbook HTML & CSS vivo e reale, che continuerò ad aggiornare man mano che imparo, collegando sempre le tecniche ai loro equivalenti nel mondo reale.
Prossimo: Continuare ad ampliare il vademecum HTML/CSS Real World e Imparare la Tipografia costruendo una Nutrition Label