Grille de cartes
Fait partie de la section Front-end pratique du Journey HTML de Coddy. Leçon 27 sur 35.
Une Card Grid est un modèle adaptatif courant utilisé sur les sites de commerce électronique, les portfolios ou les blogs. Elle organise les éléments (comme les produits, les articles ou les profils) en cards régulièrement espacées. Chaque card contient généralement une image, un title, du text et parfois un button ou un lien.
Cette mise en page est souvent créée avec CSS Grid ou Flexbox, afin que le nombre de cards par ligne change en fonction de la size de l’écran (par exemple, 1 column sur mobile, 2 à 3 sur tablette, 4 ou plus sur ordinateur).
Tout d’abord, créez votre structure HTML pour une liste de produits :
<div class="product-grid">
<div class="product-card">
<img src="product1.jpg" alt="Product 1">
<h3>Product Name</h3>
<p>$19.99</p>
<button>Add to Cart</button>
</div>
<!-- Plus de cartes de produits ici -->
</div>Maintenant, ajoutez du CSS pour rendre cela responsive :
.product-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1rem;
}
/* For tablets and up */
@media (min-width: 600px) {
.product-grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* For desktops */
@media (min-width: 900px) {
.product-grid {
grid-template-columns: repeat(3, 1fr);
}
}
.product-card {
border: 1px solid #ddd;
border-radius: 8px;
padding: 1rem;
}Cela crée une seule colonne sur mobile, deux colonnes sur les tablettes et trois colonnes sur les écrans Desktop.
Défi
FacileUne page HTML pour une galerie de photos de voyage vous est fournie. Votre tâche consiste à créer un Layout de grille de card responsive qui s’adapte à différentes tailles d’écran.
Exigences :
- Utilisez CSS Grid pour le Layout.
- Sur mobile (petits écrans), affichez 1 card par ligne.
- Sur les tablets, affichez 2 cards par ligne.
- Sur les desktops, affichez 3 cards ou plus par ligne.
Stylisez chaque card avec :
- Une belle background color
- Des coins arrondis
Objectif : créer un Layout de galerie propre et moderne, qui soit superbe sur toute taille d’écran.
REQUIRED OUTPUT FORMAT:Essayez vous-même
<!DOCTYPE html>
<html>
<head>
<title>Card Grid Layout</title>
<style>
body {
font-family: Arial, sans-serif;
background: #f9f9f9;
margin: 0;
padding: 2rem;
}
h1 {
text-align: center;
margin-bottom: 2rem;
color: #333;
}
.gallery-grid {
gap: 1.5rem;
}
.card {
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
overflow: hidden;
transition: transform 0.3s ease;
}
.card:hover {
transform: scale(1.03);
}
.card img {
width: 100%;
height: 200px;
object-fit: cover;
}
.card h3 {
margin: 0.8rem;
color: #444;
}
.card p {
margin: 0 0.8rem 1rem;
font-size: 0.9rem;
color: #666;
}
/* Tablet: 2 columns */
@media (min-width: 600px) {
.gallery-grid {
}
}
/* Desktop: 3 columns */
@media (min-width: 900px) {
.gallery-grid {
}
}
</style>
</head>
<body>
<h1>Travel Gallery</h1>
<div class="gallery-grid">
<div class="card">
<img src="https://images.unsplash.com/photo-1507525428034-b723cf961d3e" alt="Beach">
<h3>Sunny Beach</h3>
<p>Relaxing views of golden sand and turquoise waters.</p>
</div>
<div class="card">
<img src="https://images.unsplash.com/photo-1469474968028-56623f02e42e" alt="Mountains">
<h3>Mountain Escape</h3>
<p>Fresh air and breathtaking peaks for hiking lovers.</p>
</div>
<div class="card">
<img src="https://upload.wikimedia.org/wikipedia/commons/0/05/View_of_Empire_State_Building_from_Rockefeller_Center_New_York_City_dllu.jpg" alt="City Lights">
<h3>City Lights</h3>
<p>A bustling city skyline shining bright at night.</p>
</div>
<div class="card">
<img src="https://upload.wikimedia.org/wikipedia/commons/b/be/Hutan_Tangkahan.jpg" alt="Forest">
<h3>Green Forest</h3>
<p>Peaceful trails and endless shades of green.</p>
</div>
<div class="card">
<img src="https://upload.wikimedia.org/wikipedia/commons/c/c6/Caravan_in_the_desert.jpg" alt="Desert">
<h3>Desert Adventure</h3>
<p>Golden dunes stretching far into the horizon.</p>
</div>
<div class="card">
<img src="https://images.unsplash.com/photo-1501785888041-af3ef285b470" alt="Lake">
<h3>Crystal Lake</h3>
<p>Mirror-like reflections surrounded by mountains.</p>
</div>
</div>
</body>
</html>
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Front-end pratique
3Thèmes et styles visuels
Les thèmes en CSSLes bases du mode sombre/clairCouleurs d'accentuation et mise en évidenceThématisation de la typographieDéfi récapitulatif6Modèles Responsive
Mise en page Holy GrailGrille de cartesMise en page Barre latérale + ContenuMise en page Écran scindéEn-tête / Pied de page StickyDéfi récapitulatifEntraînez-vous par vous-même : Playground Web