Dynamic Pricing Table Using CSS3 Pseudo-Classes
Fri Nov 01 2024 14:12:03 GMT+0000 (Coordinated Universal Time)
Saved by @abhigna
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Dynamic Pricing Table</title> <style> body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f4f4f4; margin: 0; } .pricing-table { display: flex; justify-content: space-around; width: 80%; } .card { background-color: #fff; border: 1px solid #ccc; border-radius: 10px; padding: 20px; text-align: center; transition: transform 0.3s, box-shadow 0.3s; width: 30%; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } .card:hover { transform: scale(1.05); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); } .card.selected { background-color: #007bff; color: white; border: none; } .card.selected:hover { box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); } .price { font-size: 2rem; margin: 10px 0; } button { padding: 10px 20px; border: none; border-radius: 5px; cursor: pointer; background-color: #007bff; color: white; transition: background-color 0.3s; } button:hover { background-color: #0056b3; } </style> </head> <body> <div class="pricing-table"> <div class="card" onclick="selectCard(this)"> <h3>Basic Plan</h3> <div class="price">$10/month</div> <p>Basic features included.</p> <button>Choose</button> </div> <div class="card" onclick="selectCard(this)"> <h3>Standard Plan</h3> <div class="price">$20/month</div> <p>Standard features included.</p> <button>Choose</button> </div> <div class="card" onclick="selectCard(this)"> <h3>Premium Plan</h3> <div class="price">$30/month</div> <p>All features included.</p> <button>Choose</button> </div> </div> <script> function selectCard(card) { // Remove 'selected' class from all cards const cards = document.querySelectorAll('.card'); cards.forEach(c => c.classList.remove('selected')); // Add 'selected' class to the clicked card card.classList.add('selected'); } </script> </body> </html>
Comments