От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)

Как сверстать карточку товара для интернет-магазина

Карточка товара - это основной элемент интерфейса интернет-магазина, который отображает ключевую информацию о продукте. В этой статье мы создадим адаптивную карточку, которая будет корректно отображаться на разных устройствах. Карточка будет включать изображение товара, название, цену, краткое описание и кнопку для добавления в корзину.

HTML структура

Создадим базовую разметку карточки товара:

<div class="product-card"> <img src="product-image.jpg" alt="Product Image" class="product-image"> <div class="product-info"> <h3 class="product-title">Название товара</h3> <p class="product-description">Краткое описание товара.</p> <div class="product-price">₽999</div> <button class="add-to-cart">Добавить в корзину</button> </div> </div>

Базовые стили

Добавим основные CSS стили для карточки товара:

.product-card { border: 1px solid #ddd; border-radius: 8px; overflow: hidden; max-width: 300px; margin: 10px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); transition: transform 0.3s; } .product-card:hover { transform: translateY(-5px); } .product-image { width: 100%; height: 200px; object-fit: contain; } .product-info { padding: 15px; } .product-title { margin: 0 0 10px 0; font-size: 18px; } .product-description { margin: 0 0 10px 0; color: #666; font-size: 14px; } .product-price { font-weight: bold; font-size: 20px; margin: 0 0 15px 0; } .add-to-cart { background-color: #007bff; color: white; border: none; padding: 10px 15px; border-radius: 4px; cursor: pointer; width: 100%; font-size: 16px; } .add-to-cart:hover { background-color: #0056b3; }

Адаптивность

Сделаем карточку адаптивной, чтобы она корректно отображалась на мобильных устройствах. Для этого используем медиа-запросы:

@media (max-width: 768px) { .product-card { max-width: 100%; margin: 10px 0; } .product-image { height: 150px; } }

Дополнительные улучшения

Добавим стили для отображения скидки на товар:

.discount-badge { position: absolute; top: 10px; right: 10px; background-color: #ff5722; color: white; padding: 5px 10px; border-radius: 4px; font-size: 14px; } .original-price { text-decoration: line-through; color: #999; font-size: 16px; margin-right: 5px; }

Обновим HTML для отображения скидки:

<div class="product-card"> <div class="discount-badge">-20%</div> <img src="product-image.jpg" alt="Product Image" class="product-image"> <div class="product-info"> <h3 class="product-title">Название товара</h3> <p class="product-description">Краткое описание товара.</p> <div class="product-price"> <span class="original-price">₽1249</span> <span class="discounted-price">₽999</span> </div> <button class="add-to-cart">Добавить в корзину</button> </div> </div>

Итоговый код

Вот полный код адаптивной карточки товара:

<div class="product-card"> <div class="discount-badge">-20%</div> <img src="product-image.jpg" alt="Product Image" class="product-image"> <div class="product-info"> <h3 class="product-title">Название товара</h3> <p class="product-description">Краткое описание товара.</p> <div class="product-price"> <span class="original-price">₽1249</span> <span class="discounted-price">₽999</span> </div> <button class="add-to-cart">Добавить в корзину</button> </div> </div> .product-card { border: 1px solid #ddd; border-radius: 8px; overflow: hidden; max-width: 300px; margin: 10px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); transition: transform 0.3s; position: relative; } .product-card:hover { transform: translateY(-5px); } .product-image { width: 100%; height: 200px; object-fit: contain; } .product-info { padding: 15px; } .product-title { margin: 0 0 10px 0; font-size: 18px; } .product-description { margin: 0 0 10px 0; color: #666; font-size: 14px; } .product-price { font-weight: bold; font-size: 20px; margin: 0 0 15px 0; } .add-to-cart { background-color: #007bff; color: white; border: none; padding: 10px 15px; border-radius: 4px; cursor: pointer; width: 100%; font-size: 16px; } .add-to-cart:hover { background-color: #0056b3; } .discount-badge { position: absolute; top: 10px; right: 10px; background-color: #ff5722; color: white; padding: 5px 10px; border-radius: 4px; font-size: 14px; } .original-price { text-decoration: line-through; color: #999; font-size: 16px; margin-right: 5px; } @media (max-width: 768px) { .product-card { max-width: 100%; margin: 10px 0; } .product-image { height: 150px; } }

:

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить