Bootstrap 4 Pricing Cards with Monthly and Yearly Options

Bootstrap 4 Pricing Cards with Monthly and Yearly Options



<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <title>Responsive Pricing Table (BS4)</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" xintegrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600,700,800,900&display=swap" rel="stylesheet">
</head>

<body>
  <div class="pricing5 py-5">
    <div class="container">
      <div class="row justify-content-center">
        <div class="col-12 col-md-8 text-center">
          <h3 class="mb-3">Pricing to make your Work Effective</h3>
          <h6 class="subtitle font-weight-normal">We offer 100% satisfaction and Money back Guarantee</h6>
          <div class="switcher-box mt-4">
            <div class="btn-group" data-toggle="buttons" role="group" aria-label="Pricing Toggle">
              <label class="btn btn-outline-secondary active" id="monthly-label">
                  <input type="radio" name="pricing-period" id="monthly" autocomplete="off" checked> Monthly
              </label>
              <label class="btn btn-outline-secondary" id="yearly-label">
                  <input type="radio" name="pricing-period" id="yearly" autocomplete="off"> Yearly
              </label>
            </div>
          </div>
        </div>
      </div>
      <div class="row text-center pricing-box justify-content-center">
        <div class="col-md-4 col-lg-4 mb-4 mb-lg-0">
          <div class="card card-shadow border-0 card-pink">
            <div class="pricing-header">
                <div class="header-content">
                    <h6>BASE PACK</h6>
                    <h2 class="monthly">$100</h2>
                    <h2 class="yearly" style="display:none;">$1000</h2>
                </div>
            </div>
            <div class="card-body px-4 pb-4 pt-4">
              <ul class="general-listing">
                <li class="py-3 d-block">
                  <h5 class="font-weight-normal">10 IMAGES</h5>
                  <h6 class="subtitle font-weight-normal">Premium images / Day</h6>
                </li>
                <li class="py-3 d-block">
                  <h5 class="font-weight-normal">05 Videos</h5>
                  <h6 class="subtitle font-weight-normal">Video Footage / Day</h6>
                </li>
                <li class="py-3 d-block">
                  <h5 class="font-weight-normal">03 Users</h5>
                  <h6 class="subtitle font-weight-normal">Can access the site</h6>
                </li>
              </ul>
              <a class="btn btn-outline-success btn-md rounded-pill mt-3" href="#f1"><span>BUY BASIC</span></a>
            </div>
          </div>
        </div>
        <div class="col-md-4 col-lg-4 middle-box mb-4 mb-lg-0">
          <div class="card card-shadow border-0 card-red">
            <div class="pricing-header">
                <div class="star-plan"><img src="https://www.wrappixel.com/demos/ui-kit/wrapkit/assets/images/pricing/star.png" alt="Star" class="img-fluid" /></div>
                <div class="header-content">
                    <h6>PRO PACK</h6>
                    <h2 class="monthly">$200</h2>
                    <h2 class="yearly" style="display:none;">$2000</h2>
                </div>
            </div>
            <div class="card-body px-4 pb-4 pt-4">
              <ul class="general-listing">
                <li class="py-3 d-block">
                  <h5 class="font-weight-normal">20 IMAGES</h5>
                  <h6 class="subtitle font-weight-normal">Premium images / Day</h6>
                </li>
                <li class="py-3 d-block">
                  <h5 class="font-weight-normal">10 Videos</h5>
                  <h6 class="subtitle font-weight-normal">Video Footage / Day</h6>
                </li>
                <li class="py-3 d-block">
                  <h5 class="font-weight-normal">05 Users</h5>
                  <h6 class="subtitle font-weight-normal">Can access the site</h6>
                </li>
              </ul>
              <a class="btn btn-success-gradiant btn-md text-white rounded-pill mt-3" href="#f1"><span>BUY PRO</span></a>
            </div>
          </div>
        </div>
        <div class="col-md-4 col-lg-4 mb-4 mb-lg-0">
          <div class="card card-shadow border-0 card-blue">
            <div class="pricing-header">
                <div class="header-content">
                    <h6>BUSINESS PACK</h6>
                    <h2 class="monthly">$300</h2>
                    <h2 class="yearly" style="display:none;">$3000</h2>
                </div>
            </div>
            <div class="card-body px-4 pb-4 pt-4">
              <ul class="general-listing">
                <li class="d-block py-3">
                  <h5 class="font-weight-normal">50 IMAGES</h5>
                  <h6 class="subtitle font-weight-normal">Premium images / Day</h6>
                </li>
                <li class="d-block py-3">
                  <h5 class="font-weight-normal">25 Videos</h5>
                  <h6 class="subtitle font-weight-normal">Video Footage / Day</h6>
                </li>
                <li class="d-block py-3">
                  <h5 class="font-weight-normal">10 Users</h5>
                  <h6 class="subtitle font-weight-normal">Can access the site</h6>
                </li>
              </ul>
              <a class="btn btn-outline-success btn-md rounded-pill mt-3" href="#f1"><span>BUY BUSINESS</span></a>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" xintegrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" xintegrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" xintegrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  <script>
    $(".pricing5 .switcher-box .btn-group label.btn").click(function() {
        const isMonthly = $(this).attr('id') === 'monthly-label';
        $(".pricing5 .monthly").toggle(isMonthly);
        $(".pricing5 .yearly").toggle(!isMonthly);
    });

    $(document).ready(function() {
        $('#monthly-label').click();
    });
  </script>
</body>

</html>
                                            
                                        

@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600,700,800,900&display=swap');
body {
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
    color: #8d97ad;
    overflow-x: hidden;
    background-color: #f4f8fa;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #3e4555;
}

.pricing5 h5 {
    line-height: 22px;
    font-size: 18px;
}

.pricing5 .font-weight-medium {
    font-weight: 500;
}

.pricing5 .subtitle {
    color: #8d97ad;
    line-height: 24px;
}

.pricing5 .card {
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0px 0px 30px rgba(115, 128, 157, 0.1);
    background-color: #ffffff;
    border: 3px solid transparent;
    transition: all 0.3s ease-in-out;
}

.pricing5 .card:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: #ee5a77;
}

.pricing-header {
    position: relative;
    padding: 50px 20px 20px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    color: #ffffff;
    text-align: center;
    z-index: 0;
    height: 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.card-pink .pricing-header {
    background-color: #fd6d94;
}

.card-red .pricing-header {
    background-color: #ee5a77;
}

.card-blue .pricing-header {
    background-color: #5d97e7;
}

.pricing-header .header-content {
    position: relative;
    z-index: 1;
    width: 100%;
}

.pricing-header h6 {
    color: #ffffff;
    font-weight: 600;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.pricing-header h2 {
    color: #ffffff;
    font-weight: 700;
    margin-bottom: 0;
}

.pricing5 .general-listing {
    list-style: none;
    padding: 0;
    margin: 30px 0;
    flex-grow: 1;
}

.pricing5 .general-listing li {
    padding: 12px 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.pricing5 .general-listing li:not(:last-child) {
    border-bottom: 1px dashed #e9ecef;
}

.pricing5 .general-listing h5 {
    color: #3e4555;
    font-weight: 500;
    margin-bottom: 3px;
}

.pricing5 .general-listing h6 {
    color: #8d97ad;
    font-size: 0.85rem;
}

.pricing5 .switcher-box {
    display: inline-block;
    border-radius: 50px;
    padding: 4px;
}

.pricing5 .switcher-box .btn-group {
    border: none;
}

.pricing5 .switcher-box .btn-group>label.btn {
    padding: 10px 25px;
    font-size: 0.95rem;
    font-weight: 500;
    border: none;
    background-color: transparent;
    color: #6c757d;
    transition: all 0.3s ease;
    cursor: pointer;
    border-radius: 50px;
    position: relative;
    z-index: 1;
}

.pricing5 .switcher-box .btn-group>label.btn.active {
    background-color: #007bff;
    color: #ffffff;
    box-shadow: none;
    z-index: 2;
}

.pricing5 .switcher-box .btn-group>label.btn>input[type="radio"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.pricing5 .yearly {
    display: none;
}

.pricing5 .pricing-box {
    margin-top: 60px;
    align-items: flex-start;
}

.pricing5 .pricing-box .middle-box {
    margin-top: 0px;
    z-index: 0;
    transform: scale(1);
}

.pricing5 .star-plan {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
}

.pricing5 .star-plan img {
    width: 50px;
    height: auto;
}

.pricing5 .btn-success-gradiant {
    background: linear-gradient(to right, #2cdd9b 0%, #1dc8cc 100%);
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 1rem;
    border-radius: 50px;
    transition: all 0.3s ease;
    font-weight: 600;
}

.pricing5 .btn-success-gradiant:hover {
    background: linear-gradient(to right, #1dc8cc 0%, #2cdd9b 100%);
    color: white;
}

.pricing5 .btn-outline-success {
    color: #2cdd9b;
    border-color: #2cdd9b;
    padding: 12px 30px;
    font-size: 1rem;
    border-radius: 50px;
    transition: all 0.3s ease;
    font-weight: 600;
}

.pricing5 .btn-outline-success:hover {
    background: #2cdd9b;
    border-color: #2cdd9b;
    color: #ffffff;
}

@media (max-width: 991.98px) {
    .pricing5 .pricing-box {
        margin-top: 20px;
    }

    .pricing5 .pricing-box .middle-box {
        margin-top: 0px;
    }

    .pricing5 .card {
        margin-bottom: 30px !important;
    }
}

@media (max-width: 767.98px) {
    .pricing5 h3 {
        font-size: 2rem;
    }

    .pricing5 .subtitle {
        font-size: 0.9rem;
    }

    .pricing5 .switcher-box .btn-group>label.btn {
        padding: 8px 15px;
        font-size: 0.85rem;
    }

    .pricing5 .general-listing {
        margin: 20px 0;
    }

    .pricing-header {
        height: 120px;
        padding-top: 30px;
    }

    .pricing5 .star-plan {
        top: 10px;
        right: 10px;
        width: 40px;
    }

    .pricing5 .star-plan img {
        width: 40px;
    }
}

                                        

//Doesn't require any JS.

                                        

This Bootstrap 4 snippet showcases a visually appealing and informative pricing table designed to help users easily compare different pricing plans. The table features a clean and modern layout, with clear pricing information and highlighted key features.

Key Features:

  • Responsive Design: The pricing table adapts seamlessly to different screen sizes, ensuring a consistent user experience across devices.
  • Customizable Styling: Easily modify the appearance of the table using Bootstrap's CSS classes to match your website's design and branding.
  • Clear Pricing Information: The table presents pricing plans in a clear and concise format, including monthly or annual costs, billed annually or monthly, and any applicable discounts or promotions.
  • Feature Highlights: Compare different pricing plans by highlighting the key features included in each tier.
  • Call-to-Action Buttons: Include prominent call-to-action buttons within each pricing card to encourage users to select a plan and proceed to the next step.

Implementation:

  • Include Bootstrap 4: Ensure you have Bootstrap 4 installed and configured in your project.
  • Create the HTML Structure: Set up the basic HTML structure for the pricing table, including the container, card rows, and individual card elements.
  • Apply Bootstrap Classes: Use Bootstrap's CSS classes to style the pricing cards and their elements, such as card, card-header, card-body, card-footer, price, feature, and btn.
  • Customize as Needed: Modify the Bootstrap classes and HTML structure to customize the appearance and content of the pricing cards according to your specific requirements.

By following these steps, you can easily integrate a visually appealing and functional pricing table into your Bootstrap 4 project.

Building Blocks for Your Web Pages

Explore a collection of pre-written HTML,CSS and Javascript
snippets to jumpstart your web development projects.

Bootstrap

Browse Snippets

Tailwind

Browse Snippets

CSS

Browse Snippets
See More Categories

DocsAllOver

Where knowledge is just a click away ! DocsAllOver is a one-stop-shop for all your software programming needs, from beginner tutorials to advanced documentation

Get In Touch

We'd love to hear from you! Get in touch and let's collaborate on something great

Copyright copyright © Docsallover - Your One Shop Stop For Documentation