ITDCFeD – Week #4 | Responsive Pricing Cards + Theme & Billing Toggle (HTML + CSS + JavaScript)
1. تعارف
Week #4 میں آپ ایک Responsive Pricing Section بنائیں گے جیسا کہ کسی بھی پروفیشنل ویب سائٹ (SaaS، Hosting، Courses وغیرہ) پر ہوتا ہے۔ اس میں تین پلان (Basic, Standard, Pro)، ماہانہ / سالانہ بلنگ کا toggle اور Light/Dark theme سوئچر شامل ہوں گے، جو فرنٹ اینڈ ڈویلپر کے لیے بہت اہم practical skills ہیں۔
یہ پروجیکٹ آپ کے پہلے تین Weeks (Personal Page, Form, To‑Do App) پر مزید design sense اور UI/UX thinking کا layer add کرے گا، اور portfolio کے لیے بھی بہت خوبصورت block ثابت ہو سکتا ہے۔
2. اس لیکچر / پروجیکٹ کے اہداف
Week #4 کے اختتام تک آپ:
HTML کے ذریعے cards based layout (ہر plan کے لیے الگ card) بنانا سیکھیں گے، جس میں plan name, price, features اور button شامل ہوں۔
CSS Grid، card styling، hover effects، badges (“سب سے مقبول”) اور responsive breakpoints کے ذریعے modern pricing section تیار کریں گے۔
JavaScript سے:
Data attributes (
data-monthly,data-yearly) اور class toggling کے استعمال کو سمجھیں گے، جو آگے جا کر بڑے components اور frameworks میں بہت کام آتے ہیں۔
3. Live Demo اور Source Code (CodePen)
اس پروجیکٹ کا مکمل working demo یہاں موجود ہے:
🔗 Live Demo + Source Code (CodePen):https://codepen.io/mmshahid73/pen/yyJyRqr
استعمال کا طریقہ:
لنک کھول کر output میں تین pricing cards دیکھیں؛ Monthly / Yearly سوئچ کو on/off کریں اور دیکھیں کہ قیمتیں اور
/ مہینہ// سالکا text کیسے بدلتا ہے۔Theme button (🌙 / ☀️) پر کلک کر کے Light اور Dark دونوں Themes test کریں۔
CodePen میں Fork کر کے HTML, CSS، JS تینوں حصوں کو اپنے طور پر customize کریں (اسائنمنٹ میں detail دی جائے گی)۔
4. پروجیکٹ کی ساخت – مختصر وضاحت
4.1 HTML – Pricing Cards Layout
HTML میں:
اوپر header جس میں ITDCFeD – Week #4 اور چھوٹا subtitle موجود ہے۔
controlsسیکشن میں دو چیزیں:cardsسیکشن میں تین<article class="card">:ہر card میں: plan name، tagline، price block، feature list (
<ul class="features">) اور ایک action button شامل ہے۔ price کےspan.amountپرdata-monthlyاورdata-yearlyattributes رکھے گئے ہیں تاکہ JS انہیں پڑھ کر قیمت بدل سکے۔
4.2 CSS – Cards، Grid اور Theme
CSS کی اہم پوائنٹس:
Root level پر
.page.lightاور.page.darkکے اندر CSS variables (--card-bg,--text-main,--accentوغیرہ) define کیے گئے ہیں، جنہیں theme change کے مطابق toggle کیا جاتا ہے۔.cardsکے لیےdisplay: gridاورgrid-template-columnsکے ذریعے تین columns layout، جبکہ media queries میں اسے 2 columns اور پھر 1 column میں تبدیل کیا گیا ہے تاکہ mobile پر بھی layout خوبصورت دکھے۔ہر
.cardکے لیے rounded corners، subtle shadow، border، hover پرtransform: translateY(-4px)اور shadow increase، جبکہ.card.popularکے لیے تھوڑا stronger border اور slight uplift دیا گیا ہے۔Feature list میں custom tick icon
::before، buttons کے لیے gradient یا solid accent color، اور theme button کے لیے circular icon style رکھا گیا ہے۔
4.3 JavaScript – Billing & Theme Toggle Logic
JavaScript میں بنیادی logic یہ ہے:
billingToggleپرchangeevent لگایا گیا ہے، جوupdateBillingMode()function کو call کرتا ہے۔updateBillingMode()تمام.amountelements کو loop کر کے:Theme کے لیے
isDarkboolean رکھا گیا ہے۔applyTheme()function.pageپر.darkاور.lightclasses toggle کرتا ہے اور button icon (🌙 یا ☀️) بدل دیتا ہے۔themeBtnکےclickevent میںisDark = !isDarkکر کےapplyTheme()دوبارہ run کروایا جاتا ہے، یوں theme live change ہوتی ہے۔
یہ سارا code pure JavaScript اور CSS کو استعمال کرتا ہے، اس لیے beginners کو سمجھنے میں آسان اور future frameworks (React/Vue) کے concepts کی بنیاد بن سکتا ہے۔
5. Week #4 اسائنمنٹ / Homework
Week #4 کے homework کے لیے ہر طالب علم درج ذیل کام کرے:
CodePen Fork کریں
Plans کو customize کریں
Prices اور Billing logic adjust کریں
Theme personalization
اپنا لنک شیئر کریں
یہ homework بھی ITDCFeD سرٹیفیکیشن کی مجموعی progress میں شامل ہوگا، اور ساتھ ہی آپ کے portfolio میں "Pricing Section" جیسا professional component بھی add ہو جائے گا۔
6. اختتامی پیغام
Week #4 کا یہ project آپ کو design sense، layout skills اور چھوٹی interactivity کے ملاپ کی مشق دیتا ہے، جو کسی بھی modern ویب سائٹ کے لیے بنیادی ضرورت ہے۔ Week #1–4 کے بعد آپ کے پاس personal page، contact form، to‑do app اور pricing section، یعنی پورے mini‑site کے اہم blocks تیار ہو چکے ہوں گے، جنہیں آگے چل کر ایک مکمل project میں جوڑا جا سکتا ہے۔

کوئی تبصرے نہیں:
ایک تبصرہ شائع کریں