Html5
Css3
E Commerce
Template
Responsive
Catalogue
Panier
Boutique
Html
Integration
Template e-commerce responsive en HTML5 et CSS3 pur, sans dépendances externes. Catalogue produits, fiches articles, panier et navigation moderne intégrés.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="copyright" content="AngularForAll" />
<meta name="author" content="AngularForAll" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Cache-Control" content="public, max-age=604800" />
<title>Template E Commerce HTML CSS 2026 04291651 | AngularForAll</title>
<style>
/* ---------- RESET & VARIABLES ---------- */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: system-ui, 'Inter', -apple-system, 'Segoe UI', 'Roboto', 'Helvetica Neue', sans-serif;
background: #f9f7f4;
background-image: radial-gradient(circle at 10% 20%, rgba(230, 215, 195, 0.2) 0%, rgba(249, 247, 244, 0) 80%);
color: #2c241a;
line-height: 1.45;
scroll-behavior: smooth;
}
/* container principal */
.container {
max-width: 1280px;
margin: 0 auto;
padding: 2rem 1.5rem 4rem;
}
/* ---------- TYPOGRAPHIE & HEADER ---------- */
.header {
text-align: center;
margin-bottom: 3rem;
padding-bottom: 1.5rem;
border-bottom: 2px solid #e8dccc;
position: relative;
}
.header::after {
content: "✦";
position: absolute;
bottom: -14px;
left: 50%;
transform: translateX(-50%);
background: #f9f7f4;
padding: 0 1rem;
color: #b87c4f;
font-size: 1.2rem;
font-weight: normal;
}
.badge {
display: inline-block;
background: #e9e0d3;
color: #7a5a3e;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 1px;
text-transform: uppercase;
padding: 0.3rem 1rem;
border-radius: 40px;
margin-bottom: 1rem;
}
h1 {
font-size: 2.8rem;
font-weight: 600;
letter-spacing: -0.02em;
background: linear-gradient(125deg, #2c241a, #8b694a, #c7a17a);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
margin-bottom: 0.5rem;
}
.subhead {
font-size: 1.1rem;
color: #6b5a48;
max-width: 550px;
margin: 0.75rem auto 0;
}
/* ---------- GRILLE PRODUITS (cards responsives) ---------- */
.products-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 2rem;
margin: 2rem 0 1.5rem;
}
/* ---------- CARTE PRODUIT STYLE ÉLÉGANT ---------- */
.product-card {
background: #ffffff;
border-radius: 1.75rem;
overflow: hidden;
transition: all 0.35s cubic-bezier(0.2, 0, 0, 1);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.02), 0 0 0 1px #f0e9e1;
position: relative;
display: flex;
flex-direction: column;
}
.product-card:hover {
transform: translateY(-6px);
box-shadow: 0 24px 36px -12px rgba(60, 40, 20, 0.18), 0 0 0 1px #e8d8c8;
}
/* badge "nouveau" ou "promo" */
.card-badge {
position: absolute;
top: 1rem;
left: 1rem;
z-index: 2;
background: #d9c2a7;
color: #3e2c1c;
font-size: 0.7rem;
font-weight: 700;
padding: 0.25rem 0.9rem;
border-radius: 40px;
backdrop-filter: blur(2px);
letter-spacing: 0.3px;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.card-badge.soldout {
background: #c9b6a0;
color: #4f3e2e;
}
.card-badge.promo {
background: #e2c7a3;
color: #a1552b;
}
/* zone image */
.card-image {
position: relative;
padding-top: 100%;
background: #ede5da;
overflow: hidden;
}
.card-image img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.product-card:hover .card-image img {
transform: scale(1.03);
}
/* détail produit */
.card-content {
padding: 1.5rem 1.3rem 1.3rem;
flex: 1;
display: flex;
flex-direction: column;
}
.product-category {
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 1.5px;
font-weight: 600;
color: #b48a62;
margin-bottom: 0.5rem;
}
.product-title {
font-size: 1.35rem;
font-weight: 600;
line-height: 1.3;
margin-bottom: 0.5rem;
color: #2c241a;
}
.product-description {
font-size: 0.85rem;
color: #5f5240;
line-height: 1.45;
margin-bottom: 1rem;
flex: 1;
}
.price-row {
display: flex;
align-items: baseline;
gap: 0.7rem;
margin-bottom: 1.2rem;
flex-wrap: wrap;
}
.current-price {
font-size: 1.5rem;
font-weight: 700;
color: #2c241a;
letter-spacing: -0.3px;
}
.old-price {
font-size: 0.9rem;
color: #a28c72;
text-decoration: line-through;
}
.btn-product {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
background: #f5efe8;
border: 1px solid #e2d4c6;
padding: 0.7rem 0;
border-radius: 60px;
font-weight: 600;
font-size: 0.85rem;
color: #5c432e;
text-decoration: none;
transition: all 0.2s;
cursor: pointer;
width: 100%;
font-family: inherit;
margin-top: 0.4rem;
}
.btn-product:hover {
background: #e9dccf;
border-color: #cbae8e;
color: #3e2c1c;
transform: translateY(-2px);
}
/* variante secondaire pour certain bouton */
.btn-outline-light {
background: transparent;
border: 1px solid #e0d0be;
color: #8a6f52;
}
.btn-outline-light:hover {
background: #f3ede6;
}
/* ---------- SECTION D'INFO SUPPLÉMENTAIRE ---------- */
.info-banner {
margin-top: 3.5rem;
background: #fefaf5;
border-radius: 1.5rem;
padding: 1.8rem;
border: 1px solid #ede3d6;
text-align: center;
}
.info-banner p {
color: #6a5a48;
font-size: 0.85rem;
}
.info-banner a {
color: #b87c4f;
text-decoration: none;
font-weight: 500;
border-bottom: 1px dotted #dbbc9b;
}
hr {
margin: 2rem 0 1rem;
border: none;
height: 1px;
background: linear-gradient(to right, #ede3d6, #e0cfbc, #ede3d6);
}
footer {
text-align: center;
font-size: 0.75rem;
color: #917b62;
padding-top: 1rem;
}
/* Étoiles de notation (fait main) */
.rating {
display: flex;
gap: 2px;
margin: 0.5rem 0 0.8rem;
}
.star {
color: #e7c28e;
font-size: 0.8rem;
letter-spacing: 2px;
}
/* Responsive tweaks */
@media (max-width: 680px) {
.container {
padding: 1.2rem 1rem 2.5rem;
}
h1 {
font-size: 2rem;
}
.products-grid {
gap: 1.25rem;
}
.card-content {
padding: 1.2rem;
}
}
/* animation très légère au chargement */
@keyframes fadeUp {
from {
opacity: 0;
transform: translateY(12px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.product-card {
animation: fadeUp 0.45s ease forwards;
}
/* nth-child pour un délai subtil */
.product-card:nth-child(2) { animation-delay: 0.05s; }
.product-card:nth-child(3) { animation-delay: 0.1s; }
.product-card:nth-child(4) { animation-delay: 0.15s; }
.product-card:nth-child(5) { animation-delay: 0.2s; }
.product-card:nth-child(6) { animation-delay: 0.25s; }
</style>
</head>
<body>
<div class="container">
<!-- En-tête élégant -->
<div class="header">
<span class="badge">✦ collection printemps 2025 ✦</span>
<h1>Artisanat & Élégance</h1>
<div class="subhead">Des créations uniques, façonnées à la main avec des matières naturelles.</div>
</div>
<!-- Grille de produits - 6 cartes design pur -->
<div class="products-grid">
<!-- Carte produit 1 : Céramique -->
<div class="product-card">
<div class="card-badge promo">⭐ Édition limitée</div>
<div class="card-image">
<img src="public/baff.webp" alt="Vase céramique artisanale" loading="lazy">
</div>
<div class="card-content">
<div class="product-category">CÉRAMIQUE</div>
<h3 class="product-title">Vase organique « Terra »</h3>
<div class="rating">
<span class="star">★★★★★</span> <span style="font-size:0.7rem; margin-left: 5px;">(42 avis)</span>
</div>
<p class="product-description">Pièce unique tournée à la main, émail réactif aux nuances terre cuite et sable. Idéal pour compositions florales ou sculpture autonome.</p>
<div class="price-row">
<span class="current-price">89 €</span>
<span class="old-price">115 €</span>
</div>
<button class="btn-product">✨ Découvrir</button>
</div>
</div>
<!-- Carte produit 2 : Bougie parfumée -->
<div class="product-card">
<div class="card-badge">Nouveauté</div>
<div class="card-image">
<img src="public/mosquee.jpeg" alt="Bougie parfumée naturelle" loading="lazy">
</div>
<div class="card-content">
<div class="product-category">BIEN-ÊTRE</div>
<h3 class="product-title">Bougie « Bois de Santal »</h3>
<div class="rating">
<span class="star">★★★★☆</span> <span style="font-size:0.7rem;">(128 avis)</span>
</div>
<p class="product-description">Cire végétale 100% naturelle, notes boisées et vanille. Jusqu'à 50h de combustion, contenant en verre recyclable.</p>
<div class="price-row">
<span class="current-price">39 €</span>
</div>
<button class="btn-product">🔥 Ajouter au panier</button>
</div>
</div>
<!-- Carte produit 3 : Sac en lin -->
<div class="product-card">
<div class="card-image">
<img src="public/sac.webp" alt="Sac en lin fait main" loading="lazy">
</div>
<div class="card-content">
<div class="product-category">ACCESSOIRES</div>
<h3 class="product-title">Sac bandoulière en lin</h3>
<div class="rating">
<span class="star">★★★★★</span> <span style="font-size:0.7rem;">(95 avis)</span>
</div>
<p class="product-description">Tissu upcyclé, teinture naturelle à l'indigo. Poches intérieures, fermeture aimantée et anses réglables.</p>
<div class="price-row">
<span class="current-price">74 €</span>
<span class="old-price">98 €</span>
</div>
<button class="btn-product">👜 Voir les détails</button>
</div>
</div>
<!-- Carte produit 4 : Plateau bois / modern rustic -->
<div class="product-card">
<div class="card-badge promo">En promotion</div>
<div class="card-image">
<img src="public/smartwash.webp" alt="Plateau en bois massif" loading="lazy">
</div>
<div class="card-content">
<div class="product-category">DÉCORATION</div>
<h3 class="product-title">Plateau « Noyer massif »</h3>
<div class="rating">
<span class="star">★★★★☆</span> <span style="font-size:0.7rem;">(61 avis)</span>
</div>
<p class="product-description">Fabriqué à partir de chutes de noyer français. Finition huile d'olive, parfait pour servir ou exposer vos objets précieux.</p>
<div class="price-row">
<span class="current-price">59 €</span>
<span class="old-price">85 €</span>
</div>
<button class="btn-product">🪵 Commander</button>
</div>
</div>
<!-- Carte produit 5 : Couverture tissée main -->
<div class="product-card">
<div class="card-image">
<img src="public/ordinateur-portable-laptop.webp" alt="Couverture en laine bio" loading="lazy">
</div>
<div class="card-content">
<div class="product-category">TEXTILE</div>
<h3 class="product-title">Couverture / Plaid « Forêt »</h3>
<div class="rating">
<span class="star">★★★★★</span> <span style="font-size:0.7rem;">(204 avis)</span>
</div>
<p class="product-description">Laine mérinos & alpaga, tissée main sur métier traditionnel. Douceur exceptionnelle, couleur chardon et sauge.</p>
<div class="price-row">
<span class="current-price">149 €</span>
</div>
<button class="btn-product">🧶 Explorer</button>
</div>
</div>
<!-- Carte produit 6 : Pot à crayons / carnet artisanal -->
<div class="product-card">
<div class="card-badge soldout">Dernière pièce</div>
<div class="card-image">
<img src="public/phoneL.webp" alt="Carnet relié cuir" loading="lazy">
</div>
<div class="card-content">
<div class="product-category">PAPETERIE</div>
<h3 class="product-title">Carnet de notes · reliure artisanale</h3>
<div class="rating">
<span class="star">★★★★★</span> <span style="font-size:0.7rem;">(37 avis)</span>
</div>
<p class="product-description">Papier coton, couverture en cuir végétal, fermeture élastique. Fabriqué dans un atelier familial.</p>
<div class="price-row">
<span class="current-price">34 €</span>
</div>
<button class="btn-product btn-outline-light">📖 En savoir plus</button>
</div>
</div>
</div>
<!-- Section inspirante avec valeurs / livraison etc. -->
<div class="info-banner">
<p>🌿 Livraison offerte dès 60€ • Fabriqué en Europe • Emballages recyclés • Satisfait ou remboursé pendant 30 jours.<br>
✨ <strong>Métiers d'art & modernité</strong> — chaque pièce raconte une histoire authentique. <a href="#">Découvrir la boutique</a></p>
</div>
<hr>
<!-- Footer minimal & meta robots info -->
<footer>
<p>© 2025 — Atelier Élégance. Tous droits réservés. <br>
Design carte produit sans framework, HTML/CSS pur.</p>
<p style="margin-top: 8px; font-size: 0.7rem;">⭐ — accessibilité et design épuré.</p>
</footer>
</div>
<!-- Ajout d'un tout petit script pour interactions console (amélioration utilisateur sans framework) -->
<script>
(function(){
// Ajouter un simple effet clic console pour les boutons (démo d'interaction légère)
const allButtons = document.querySelectorAll('.btn-product');
allButtons.forEach(btn => {
btn.addEventListener('click', (e) => {
e.preventDefault();
const productCard = btn.closest('.product-card');
const productName = productCard?.querySelector('.product-title')?.innerText || 'produit';
console.log(`🛒 [UI démo] Intérêt pour : ${productName} (action ajout panier / détail simulation)`);
alert(`✨ "${productName}" — ajouté au panier (démonstration). Interface 100% HTML/CSS.`);
});
});
//console.log("Page produits artisanaux — cartes responsives sans framework, animations fluides.");
})();
</script>
</body>
</html>
Télécharger le fichier source