جداول HTML

الجداول (<table>) تعرض البيانات المنظمة على صفحات الويب. مبنية من صفوف (<tr>) وخلايا (<td> / <th>)، وهي الخيار القياسي للجداول الزمنية وجداول الأسعار وتقارير البيانات والمحتوى المماثل.

هيكل الجدول الأساسي

الجدول الأدنى يتطلب على الأقل <table> وصفوف (<tr>) وخلايا بيانات (<td>):

مثال

HTML
<table border="1" width="100%">
<tr>
<th>الاسم</th>
<th>العمر</th>
<th>المدينة</th>
</tr>
<tr>
<td>أحمد</td>
<td>25</td>
<td>القاهرة</td>
</tr>
<tr>
<td>سارة</td>
<td>30</td>
<td>لندن</td>
</tr>
</table>
▶ جرّب الكود

سمات الجدول الشائعة

يمكنك إضافة سمات أساسية إلى <table> و <td> للتحكم في المظهر — ومع ذلك، لاحظ أن معظمها مهملة في HTML5، و CSS هو البديل الموصى به. لكن فهمها كمبتدئ يساعد في استيعاب كيفية عرض الجداول:

HTML
<table border="1" width="100%">
### مثال
<tr>
<th align="left">الاسم</th>
<th width="60%">السيرة</th>
</tr>
<tr>
<td valign="top">أحمد</td>
<td>مطور واجهة أمامية</td>
</tr>
</table>

السمةالغرضبديل CSSborderتعيين حدود الجدول (مثل border="1")خاصية CSS border``widthعرض الجدول أو الخليةخاصية CSS width``alignمحاذاة أفقية (يسار / وسط / يمين)خاصية CSS text-align``valignمحاذاة رأسية (أعلى / وسط / أسفل)خاصية CSS vertical-align

⚠️ ملاحظة مهمة: السمات أعلاه (border و width و align و valign) مهملة في HTML5. على الرغم من أن border="1" لا يزال مدعومًا من قبل المتصفحات، إلا أنه فقط للتوافق مع الكود القديم. في المشاريع الحقيقية، استخدم CSS للتحكم في تنسيق الجدول — على سبيل المثال، خصائص مثل border و text-align و vertical-align. هذا الموقع لديه أنماط جدول مكونة مسبقًا في style.css، لذا يمكنك رؤية حدود أنيقة بدون border="1".

دمج الخلايا

استخدم colspan لدمج الأعمدة أفقيًا و rowspan لدمج الصفوف رأسيًا:

HTML
<table border="1">
<tr>
<th>الاسم</th>
<th colspan="2">معلومات الاتصال</th>
</tr>
<tr>
<td rowspan="2">أحمد</td>
<td>البريد الإلكتروني</td>
### مثال
<td>ahmed@mail.com</td>
</tr>
<tr>
<td>الهاتف</td>
<td>555-0000-0000</td>
</tr>
</table>

هيكل الجدول الدلالي

بالإضافة إلى <table> و <tr> الأساسيين، يوفر HTML مجموعة من الوسوم الدلالية لتنظيم أجزاء الجدول المختلفة:

HTML
<table border="1">
<caption>تقرير مبيعات 2026</caption>
<thead>
<tr>
<th>الربع</th>
<th>الإيرادات</th>
<th>الربح</th>
</tr>
### مثال
</thead>
<tbody>
<tr><td>الربع الأول</td><td>100K$</td><td>20K$</td></tr>
<tr><td>الربع الثاني</td><td>120K$</td><td>25K$</td></tr>
</tbody>
<tfoot>
<tr><td>الإجمالي</td><td>220K$</td><td>45K$</td></tr>
</tfoot>
</table>

❓ أسئلة شائعة

س هل يمكن استخدام الجداول لتخطيط الصفحة؟
ج أبدًا. استخدام الجداول للتخطيط هو ممارسة من قبل 20 عامًا — قديمة تمامًا. الأسباب: 1) تخطيط الجداولصعب الصيانة — تغيير مكان واحد قد يؤثر على الصفحة بأكملها؛ 2) الجداول ليست أدوات تخطيط دلالية — محركات البحث وقارئات الشاشة تساء فهم بنية المحتوى؛ 3) تخطيط الجداول يبدو فظيعًا على الأجهزة المحمولة. استخدم الجداول فقط لعرض البيانات (مثل كشوف الدرجات وقوائم الأسعار والجداول الزمنية)؛ استخدم CSS Flexbox أو Grid للتخطيط.
س ما هي colspan و rowspan؟ كيف أستخدمهما؟
ج colspan يدمج الخلايا أفقيًا (عبر الأعمدة) و rowspan يدمجها رأسيًا (عبر الصفوف). مثال: <td colspan="2"> يعني أن هذه الخلية تمتد عبر عمودين؛ <td rowspan="3"> يعني أنها تمتد عبر 3 صفوف. السيناريوهات الشائعة: رأس يمتد عبر أعمدة متعددة (مثل "المجموع" الذي يغطي اللغة العربية والرياضيات والعلوم)، عناوين المجموعة تمتد عبر صفوف متعددة. مهم: بعد الدمج، أزل الخلايا في مواضع الدمج وإلا سيتشوه الجدول.
س هل <thead> و <tbody> و <tfoot> إلزامية؟
ج ليست إلزامية، لكن يُوصى بها بشدة. она تضفي دلالة على بنية الجدول: <thead> يلف صفوف الرأس، <tbody> يلف صفوف البيانات، <tfoot> يلف صفوف الملخص. الفوائد: 1) يمكن للمتصفحات تمرير الرؤوس والبيانات بشكل مستقل؛ 2) وضع الطباعة يكرر الرؤوس في كل صفحة؛ 3) قارئات الشاشة تفهم بنية الجدول بشكل أفضل؛ 4) التحكم في التنسيق CSS أسهل. حتى مع صف بيانات واحد فقط، لفه في <tbody>.

📖 ملخص

📝 تمارين

  1. جدول حصص: استخدم <table> لإنشاء جدول حصص دراسية برؤوس (الاثنين إلى الجمعة) وعلى الأقل 4 صفوف من الحصص.
  2. تمرين الدمج: أنشئ تقرير درجات بخلايا مدمجة — الرأس يحتوي على "اسم الطالب" و"درجات المواد" (colspan يغطي أعمدة اللغة العربية والرياضيات والعلوم).
100%