16 Sept 2023

Building a Responsive Pricing Table with HTML and CSS

Pricing tables are an essential part of any e-commerce website or platform. They play a crucial role in helping potential customers understand the various features and benefits of a product or service, as well as its pricing structure. In this article, we will be discussing the steps involved in building a responsive pricing table using HTML and CSS.

HTML Structure

To build a pricing table, we will first create the HTML structure. This involves creating a container to hold all the pricing table elements and then organizing the elements into rows and columns.

Here's the basic HTML structure of a pricing table:

<div class="pricing-table">
  <div class="pricing-plan">
    <h3 class="pricing-plan-title">Plan Name</h3>
    <div class="pricing-plan-price">$100</div>
    <ul class="pricing-plan-features">
      <li>Feature 1</li>
      <li>Feature 2</li>
      <li>Feature 3</li>
    <a href="#" class="pricing-plan-button">Sign Up</a>

In the HTML structure above, the main container is the .pricing-table class, and the individual pricing plans are contained within the .pricing-plan class. Each pricing plan consists of the following elements:

CSS Styling

Once we have our HTML structure in place, we can move on to styling the pricing table using CSS.

Here's the basic CSS code to style the pricing table:

.pricing-table {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;

.pricing-plan {
  background-color: #f7f7f7;
  border: 1px solid #e5e5e5;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  width: 300px;
  margin: 20px;
  padding: 40px;

.pricing-plan-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 20px;

.pricing-plan-price {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 20px;

.pricing-plan-features {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;

.pricing-plan-features li {
  font-size: 16px;
  margin-bottom: 10px;

.pricing-plan-button {
  background-color: #f7f7f7;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  color: #333;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  padding: 15px 30px;
  text-decoration: none;
  transition: all 0.3s ease;

.pricing-plan-button:hover {
  background-color: #333;
  color: #fff;

In the CSS code above, we have defined styles for the main container (.pricing-table), individual pricing plans (.pricing-plan), the plan title (.pricing-plan-title), the price (.pricing-plan-price), the features (.pricing-plan-features), and the sign up button (.pricing-plan-button).

We have also added a hover effect to the sign up button, which changes its background color to #333 and text color to #fff when the mouse pointer is over it.


To make the pricing table responsive, we can use media queries to adjust the styles based on the screen size. Here's an example of how to make the pricing table responsive:

@media (max-width: 768px) {
  .pricing-plan {
    width: 100%;

In the media query above, we have set the width of the pricing plan to 100% when the screen size is less than or equal to 768px. This will make the pricing table automatically adjust to the screen size and provide a better user experience on smaller screens.


In this article, we have learned how to build a responsive pricing table using HTML and CSS. We started by creating the HTML structure for the pricing table and then added the necessary styles using CSS. The styles defined in the CSS code are used to make the pricing table visually appealing and provide a better user experience to the users.

We used the flexbox layout to align the pricing plans in the center and make them wrap around when the screen size is reduced. The media query was used to make the pricing table responsive and automatically adjust to different screen sizes.

With these simple steps, you can easily create a responsive pricing table that will showcase your pricing plans in a clear and organized manner. You can further customize the styles and add your own personal touch to make the pricing table match your website's design and branding.

Overall, building a responsive pricing table is a great way to attract new customers and improve the user experience on your website. With the help of HTML and CSS, you can create a pricing table that is both functional and visually appealing.