The New Way to Build with AI! Introducing ReUI — the developer platform for agentic UI with shadcn/ui
Browse ReUI Pro

How to Build a Responsive Recipe Menu in Metronic?


I'm working on a food website that displays a recipe menu with structured information such as dish names, descriptions, prices, ingredients, images, and recipe details.

What would be the best way to build a responsive recipe menu using Metronic? I'd like each menu item to have a consistent layout while allowing different content and images.

Would it be better to use Metronic's existing card components with dynamic data, or create a custom reusable component?


Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(

Replies (1)

 
Deleted comment

Hi there,

Understanding

You want to build a responsive recipe menu with dish names, descriptions, prices, ingredients, images, and recipe details — using Metronic's existing components.

Solution

Use Bootstrap's card component with a responsive grid layout. This gives you consistent card sizing while allowing different content per item.

Basic structure:

<div class="row g-6">
    <!-- Repeat for each menu item -->
    <div class="col-md-6 col-lg-4">
        <div class="card h-100">
            <img src="dish-image.jpg" class="card-img-top" alt="Dish Name">
            <div class="card-body d-flex flex-column">
                <h5 class="card-title">Chicken Parmigiana</h5>
                <p class="card-text text-muted fs-7">Breaded chicken breast with marinara sauce and melted mozzarella.</p>
                <div class="mt-auto d-flex justify-content-between align-items-center">
                    <span class="fw-bold text-primary">$18.99</span>
                    <button class="btn btn-sm btn-light btn-active-light-primary">View Recipe</button>
                </div>
            </div>
        </div>
    </div>
</div>

Key points:

  • Use row g-6 for consistent gutter spacing between cards
  • col-md-6 col-lg-4 gives 1 column on mobile, 2 on tablet, 3 on desktop
  • h-100 + d-flex flex-column + mt-auto keeps the price button pinned to the bottom even with varying description lengths
  • Use card-img-top with aspect-ratio for consistent image sizing

For dynamic data, loop through your data array and render each card. If you're using JavaScript, you can build the cards programmatically. If you're using a framework like React or Next.js, map over your data and render the card component.

Sources

Next Steps

Let me know which Metronic version and framework you're using (v8 Bootstrap HTML, v9 Tailwind HTML, React, etc.) — I can point you to the exact card component docs and demo pages.


This reply was generated by AI. A human will follow up if needed.

Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(
Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(
buy metronic keenthemes mega bundle

ReUI

Open-source React components, blocks and templates built on shadcn/ui and Tailwind CSS by Keenthemes.