بورتفوليو HTML Tailwind في يوم واحد مشروح ببساطة (مع مخططات وكود حقيقي)

بورتفوليو HTML Tailwind في يوم واحد: الأساسيات في مقال واحد — كود حقيقي، مخططات وخطوات ملموسة، مقتطفات من دورة مكونة من 46 درسًا.

بورتفوليو HTML Tailwind في يوم واحد مشروح ببساطة (مع مخططات وكود حقيقي)

دليل مباشر وموجز: Portfolio HTML Tailwind 1jour مفكك مع مخططات وأمثلة عملية وأوامر مجربة. كل المحتوى مستمد من دورة منظمة تضم 11 فصلاً — وإليك أفضل ما فيها.

tl;dr
  • المقدمة وإعداد Express
  • أساسيات HTML5 لموقع Portfolio
  • أساسيات Tailwind CSS
  • قسم Hero والتنقل
  • أقسام About والمهارات والمشاريع
~$ cat ./parcours.md # Portfolio HTML Tailwind 1jour — 10 فصول
01
مقدمة وإعداد Express
→ تقديم الدورة وأمثلة على المحافظ→ تثبيت VS Code + Live Server + Tailwind IntelliSense+ 1 دروس أخرى
02
أساسيات HTML5 للمحفظة
→ علامات HTML5 الدلالية الأساسية→ هيكل نموذجي لمحفظة صفحة واحدة+ 2 دروس أخرى
03
أساسيات Tailwind CSS
→ Utility-first : لماذا يغير Tailwind القواعد→ ألوان وتباعد وطباعة Tailwind+ 2 دروس أخرى
04
قسم Hero والتنقل
→ شريط تنقل لاصق متجاوب مع Tailwind→ قسم hero مع صورة وزر CTA+ 2 دروس أخرى
05
أقسام About والمهارات والمشاريع
→ قسم About مع صورة وسيرة ذاتية→ شبكة مهارات مع أيقونات Heroicons+ 2 دروس أخرى
06
التصميم المتجاوب
→ نقاط التوقف في Tailwind – sm, md, lg, xl, 2xl→ نهج الهاتف أولاً والأدوات المتجاوبة+ 2 دروس أخرى
07
الوضع المظلم والتخصيص
→ الوضع المظلم في Tailwind – استراتيجية class→ تبديل الوضع المظلم باستخدام localStorage+ 2 دروس أخرى
08
نموذج الاتصال
→ نموذج HTML5 + التحقق الأصلي→ Formspree – تلقي الرسائل عبر البريد الإلكتروني+ 2 دروس أخرى
🏁
المشروع النهائي (+ 2 فصول في الطريق)
→ ستخرج بمشروع ملموس وقابل للعرض

تخصيص tailwind.config.js – الألوان والخطوط

NOTEالهدف — تخصيص سمة Tailwind عبر tailwind.config.js: إضافة ألوان علامتك التجارية الخاصة وخطوطك وتوسيع اللوحة دون تعطيل الأدوات الموجودة.

الأهداف التعليمية

TIPعند إنهاء هذه الوحدة
  • فهم الفرق بين theme وtheme.extend
  • إضافة لون علامة تجارية مخصص
  • تعريف تدرج ألوان (من 50 إلى 900)
  • تسجيل خط مخصص في fontFamily
  • استخدام هذه القيم المخصصة في أصنافك

theme مقابل theme.extend

جوهر تخصيص Tailwind هو كائن theme. المفتاح الحرج هو الاختيار الصحيح بين الكتابة مباشرة داخل theme (الذي يستبدل كل شيء) أو داخل theme.extend (الذي يضيف دون كسر أي شيء).

النهجالتأثيرمتى تستخدمه
theme: {...}يستبدل القيمة الافتراضية بالكاملنادرًا، لنظام تصميم صارم جدًا
theme.extend: {...}يضيف إلى القيم الافتراضيةدائمًا تقريبًا
WARNINGتنبيه: إذا كتبت ألوانك مباشرة داخل theme.colors بدون extend، ستفقد كل ألوان Tailwind الافتراضية (red، blue، gray...). استخدم extend دائمًا تقريبًا.

إضافة لون علامة تجارية

لنفترض أن علامتك التجارية تستخدم بنفسجيًا محددًا. نضيفه داخل extend.colors.

تدرج كامل

الكائن 50–900 يعطي bg-marque-50 حتى bg-marque-900.

تسجيل خط مخصص

لاستخدام خط مثل Inter أو Poppins، نضيفه داخل fontFamily. يصبح الاسم أداة font-....

تصفية المشاريع باستخدام data-attributes

NOTEالهدف — إضافة أزرار تصفية (الكل، ويب، جوال، تصميم...) تعرض أو تخفي المشاريع حسب فئتها، بفضل سمات data-* وسكريبت JavaScript صغير من بضعة أسطر.

الأهداف التعليمية

TIPعند إنهاء هذه الوحدة
  • فهم ما هو سمة data-* واستخداماتها
  • تصنيف كل بطاقة مشروع عبر data-categorie
  • إنشاء شريط أزرار التصفية
  • كتابة JavaScript الذي يظهر/يخفي البطاقات
  • إدارة حالة الزر النشط المحدد

ما هو data-attribute؟

data-attribute هو سمة HTML مخصصة تبدأ بـ data-. تستخدم لتخزين معلومات عن عنصر دون التأثير على عرضه. على سبيل المثال، data-categorie="web" يخبر JavaScript أن هذه البطاقة تنتمي إلى فئة "web". إنها طريقة نظيفة ومعيارية لربط بياناتك بعناصرك.

السمةالمثالالوصول في JS
data-categoriedata-categorie="web"el.dataset.categorie
data-filtredata-filtre="mobile"el.dataset.filtre
data-anneedata-annee="2026"el.dataset.annee
NOTEملاحظة: في JavaScript، تُقرأ data-categorie عبر element.dataset.categorie. يختفي البادئة data- ويتحول الشرطة إلى camelCase إذا كان الاسم مركبًا (data-ma-cledataset.maCle).

الخطوة 1: تصنيف البطاقات

نضيف data-categorie على كل بطاقة مشروع تم إنشاؤها في الوحدة السابقة.

TIPنصيحة: لانتقال سلس، استبدل hidden بمجموعة أصناف opacity-0 scale-95 + transition، وتحكم في الظهور بتأخير صغير. التأثير أكثر أناقة من الاختفاء المفاجئ.
WARNINGتنبيه: ضع دائمًا <script> مباشرة قبل وسم </body> أو استخدم السمة defer. وإلا سينفذ السكريبت قبل وجود الأزرار ويعيد querySelectorAll قائمة فارغة.

الصور المتجاوبة وعنصر picture

NOTEالهدف — تقديم الصورة المناسبة للحجم المناسب للشاشة بفضل srcset ووسم <picture>، لموقع portfolio سريع لا يجبر الهاتف على تحميل صورة 4K.

الأهداف التعليمية

TIPعند إنهاء هذه الوحدة
  • فهم لماذا صورة واحدة لكل الشاشات مشكلة
  • استخدام srcset وsizes لدقة متعددة
  • استخدام <picture> لتوجيه الفن
  • الحفاظ على نسبة ثابتة بـ Tailwind (aspect-)
  • تجنب إزاحة التخطيط (CLS) باستخدام width وheight

مشكلة الصورة الوحيدة

إذا قدمت نفس الصورة بعرض 2000 بكسل للجميع، فسيحمل الهاتف ميغابايتات غير ضرورية لعرضها في 375 بكسل. هذا بطيء، ويكلف المستخدم بيانات، ويضر بدرجة Lighthouse.

الحل العصري: تقديم عدة نسخ من نفس الصورة وترك المتصفح يختار الأنسب لحجم العرض الفعلي وكثافة الشاشة.

srcset و sizes: دقة متعددة

تسرد السمة srcset عدة ملفات مع عرضها الجوهري (بـ w). وتشير السمة sizes إلى عرض العرض المتوقع حسب الشاشة.

picture

صور مختلفة حسب استعلام media. لتوجيه الفن (الاقتصاص، الاتجاه).

الحفاظ على نسبة نظيفة بـ Tailwind

لتجنب تشوه صورك، يوفر Tailwind الأدوات aspect- وobject-cover.

va-plus-loin

تغطي هذه المقالة المقتطفات الأكثر فائدة — الدورة الكاملة Portfolio HTML Tailwind 1jour (11 فصلاً، 46 درسًا، تمارين مصححة ومشروع نهائي) تأخذك إلى النهاية.

./acceder-au-cours-complet cours gratuit : Vibe Coding

الأسئلة الشائعة

كم من الوقت يستغرق تعلم Portfolio HTML Tailwind 1jour؟
مع تقدم منظم (11 فصلاً، 46 درسًا قصيرًا وعمليًا)، يمكن الوصول إلى مستوى تشغيلي في بضعة أسابيع بمعدل 30 إلى 60 دقيقة يوميًا. المهم هو تطبيق كل مفهوم فورًا.
هل هناك متطلبات سابقة؟
لا توجد متطلبات سابقة: تبدأ الدورة من الصفر، ويُقدم كل مفهوم قبل استخدامه.
من أين أبدأ عمليًا؟
طبّق أوامر هذه المقالة، ثم تابع الدورة الكاملة Portfolio HTML Tailwind 1jour: تتسلسل فيها الـ46 درسًا بالترتيب مع تمارين ومشروع نهائي.

📬 هل تريد تلقي هذا النوع من الأدلة كل أسبوع؟ اشترك مجانًا — كود حقيقي، بدون كلام زائد.