DEV Community

ReadymadeUI
ReadymadeUI

Posted on

Creating a Product Overview Layout Using Tailwind CSS

Image description

Introduction

Hello, developers! Today, we’ll learn how to build a responsive product detail layout using Tailwind CSS.
We’ll divide the layout into two sections with a grid: a left column for product images and a right column for product details. Let’s ensure it looks great across all screen sizes!

Layout

<div class="grid items-start grid-cols-1 lg:grid-cols-2 gap-8 max-lg:gap-12 max-sm:gap-8">

Enter fullscreen mode Exit fullscreen mode

grid: Uses CSS Grid to organize content.
lg:grid-cols-2: Displays two columns on large screens.
gap-8, max-lg:gap-12, max-sm:gap-8: Controls the gap between grid items across breakpoints.

Image Gallery

<div class="flex flex-row gap-2">
  <div class="flex flex-col gap-2 w-16 max-sm:w-14 shrink-0">
    <!-- Thumbnail Images -->
  </div>
  <div class="flex-1">
    <!-- Main Product Image -->
  </div>
</div>

Enter fullscreen mode Exit fullscreen mode

Thumbnail Column:

Displays a vertical list of small images.
aspect-[64/85] object-cover: Ensures the aspect ratio of images is maintained while covering the container.

Main Image:

Enlarges the selected product image.
aspect-[548/712]: Maintains a taller aspect ratio.

Product Description

<h3 class="text-lg sm:text-xl font-bold text-gray-800">Women Embroidered A-line Kurta</h3>
<p class="text-gray-500 mt-1 text-sm">Women Embroidered Georgette A-line Kurta With Attached Dupatta (Maroon)</p>

Enter fullscreen mode Exit fullscreen mode

Displays the product title and description.

Pricing Section

<div class="flex items-center flex-wrap gap-4 mt-4">
  <h4 class="text-gray-800 text-2xl sm:text-3xl font-bold">$12</h4>
  <p class="text-gray-500 text-lg"><strike>$16</strike> <span class="text-sm ml-1.5">Tax included</span></p>
</div>

Enter fullscreen mode Exit fullscreen mode

Shows the discounted price, original price (strikethrough), and tax information.
flex flex-wrap gap-4: Arranges the pricing details horizontally.

Rating Section

<div class="flex items-center gap-1 text-lg px-2.5 bg-green-600 text-white rounded-full">
  <p>4</p>
  <svg>...</svg>
</div>

Enter fullscreen mode Exit fullscreen mode

Displays the product's rating and reviews.
rounded-full: Styles the rating score as a pill-shaped element.

Size Options

<div class="flex flex-wrap gap-4 mt-4">
  <button type="button" class="w-10 h-9 border ...">SM</button>
  <button type="button" class="w-10 h-9 border ...">MD</button>
</div>

Enter fullscreen mode Exit fullscreen mode

Provides buttons for size selection.

Action Buttons

<div class="mt-6 flex flex-wrap gap-4">
  <button type="button" class="px-4 py-3 w-[45%] ...">Add to wishlist</button>
  <button type="button" class="px-4 py-3 w-[45%] ...">Add to cart</button>
</div>

Enter fullscreen mode Exit fullscreen mode

Includes "Add to Wishlist" and "Add to Cart" buttons with distinct styles.

Delivery Location

<div class='flex items-center gap-2 mt-4 max-w-sm'>
  <input type='number' placeholder='Enter pincode' class='bg-gray-100 ...' />
  <button type='button' class='bg-blue-600 hover:bg-blue-700 ...'>Apply</button>
</div>

Enter fullscreen mode Exit fullscreen mode

Provides an input field and button for entering a pincode to check delivery availability.

Accordion for Product Information

<div role="accordion">
  <button type="button" class="w-full text-sm ...">Product details</button>
  <div class="pb-4 px-4 hidden">
    <p class="text-sm text-gray-500">Lorem ipsum...</p>
  </div>
</div>

Enter fullscreen mode Exit fullscreen mode

Implements a collapsible accordion for additional product details.

Responsive Design

Uses utility classes like max-lg, max-sm, and lg:grid-cols-2 to ensure the layout adjusts to different screen sizes.

Thanks for reading!

To access the source code for this design, visit ReadymadeUI and explore more e-commerce layouts.

Top comments (0)