شرح العنصر <td>
في HTML
العنصر <td>
(اختصار لـ Table Data) هو أحد العناصر الأساسية المستخدمة لإنشاء خلايا البيانات داخل جدول. يُستخدم هذا العنصر داخل صفوف الجدول (التي تُعرّف بواسطة العنصر <tr>
). في هذا الشرح، سأغطي كل ما يتعلق بالعنصر <td>
بشكل كامل وشامل، بما في ذلك تعريفه، استخداماته، السمات (Attributes)، الأمثلة، والنصائح العملية.
تعريف العنصر <td>
- الوظيفة: العنصر
<td>
يُستخدم لتحديد خلية بيانات داخل جدول HTML. كل خلية تحتوي على محتوى (نصوص، صور، روابط، نماذج، إلخ) يتم عرضه ضمن الجدول. - الموقع: يتم وضع العنصر
<td>
داخل العنصر<tr>
(Table Row)، ويُمثل عمودًا واحدًا في الصف. - الفرق مع
<th>
: على عكس<th>
(Table Header) الذي يُستخدم لتحديد رؤوس الجدول (عادةً بخط عريض ومتمركز افتراضيًا)، فإن<td>
يُستخدم لبيانات الجدول العادية.
البنية الأساسية للجدول مع <td>
لإنشاء جدول يحتوي على خلايا بيانات، يتم استخدام العنصر <td>
ضمن الهيكلية التالية:
<table>
<tr>
<td>خلية 1</td>
<td>خلية 2</td>
</tr>
<tr>
<td>خلية 3</td>
<td>خلية 4</td>
</tr>
</table>
<table>
: يُعرّف الجدول ككل.<tr>
: يُعرّف صفًا في الجدول.<td>
: يُعرّف خلية بيانات داخل الصف.
النتيجة:
خلية 1 | خلية 2 |
خلية 3 | خلية 4 |
السمات (Attributes) الخاصة بـ <td>
العنصر <td>
يدعم مجموعة من السمات التي تُستخدم لتخصيص وظائفه ومظهره. بعض هذه السمات قديم ولم يعد يُستخدم في HTML5، لكن سأذكرها للتوضيح الشامل:
السمات الشائعة
rowspan:
يحدد عدد الصفوف التي تمتد عبرها الخلية.
مثال:<td rowspan="2">تمتد عبر صفين</td>
هذا يجعل الخلية تمتد عموديًا عبر صفين.colspan:
يحدد عدد الأعمدة التي تمتد عبرها الخلية.
مثال:<td colspan="2">تمتد عبر عمودين</td>
هذا يجعل الخلية تمتد أفقيًا عبر عمودين.headers:
يربط الخلية برأس جدول معين (مُعرف بـ<th>
).
يُستخدم لتحسين إمكانية الوصول (Accessibility)، خاصة لقارئات الشاشة.
مثال:<th id="name">الاسم</th> <td headers="name">أحمد</td>
class و id:
تُستخدم لتحديد الخلية لأغراض التنسيق باستخدام CSS أو التفاعل عبر JavaScript.
مثال:<td class="highlight">محتوى</td>
style:
يُستخدم لتطبيق تنسيقات CSS مباشرة.
مثال:<td style="background-color: yellow;">خلية ملونة</td>
السمات المهجورة (Deprecated)
في HTML5، تم إيقاف دعم بعض السمات لأن CSS أصبح المعيار للتنسيق. ومع ذلك، لا يزال من المفيد معرفتها:
align:
لتحديد محاذاة المحتوى (يمين، وسط، يسار). مثال:align="center"
.valign:
لتحديد المحاذاة العمودية (أعلى، وسط، أسفل). مثال:valign="top"
.width و height:
لتحديد أبعاد الخلية.bgcolor:
لتحديد لون الخلفية. ملاحظة: يُفضل استخدام CSS بدلاً من هذه السمات.
استخدامات <td>
العنصر <td>
متعدد الاستخدامات ويمكن أن يحتوي على أي نوع من المحتوى تقريبًا. إليك بعض الأمثلة:
- محتوى نصي:
<td>محمد</td>
<td>30 سنة</td> - صور:
<td><img src="image.jpg" alt="صورة"></td>
- روابط:
<td><a href="https://example.com">زيارة الموقع</a></td>
- نماذج:
<td><input type="text" name="username"></td>
- قوائم:
<td>
<ul>
<li>عنصر 1</li>
<li>عنصر 2</li>
</ul>
</td> - جداول متداخلة:
<td>
<table>
<tr><td>جدول داخلي</td></tr>
</table>
</td>
مثال عملي شامل
فيما يلي مثال يوضح استخدام <td>
مع سمات مختلفة وتنسيقات CSS:
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8">
<title>مثال على الجدول</title>
<style>
table {
border-collapse: collapse;
width: 100%;
}
td, th {
border: 1px solid black;
padding: 8px;
text-align: center;
}
.highlight {
background-color: #f0f0f0;
}
</style>
</head>
<body>
<table>
<tr>
<th id="name">الاسم</th>
<th id="age">العمر</th>
<th id="city">المدينة</th>
</tr>
<tr>
<td headers="name" class="highlight">أحمد</td>
<td headers="age" rowspan="2">30</td>
<td headers="city">القاهرة</td>
</tr>
<tr>
<td headers="name">سارة</td>
<td headers="city" colspan="2">الرياض</td>
</tr>
</table>
</body>
</html>
النتيجة:
الاسم | العمر | المدينة |
---|---|---|
أحمد | 30 | القاهرة |
سارة | الرياض |
ملاحظات على المثال:
rowspan="2"
جعل خلية العمر تمتد عبر صفين.colspan="2"
جعل خلية المدينة في الصف الثاني تمتد عبر عمودين.headers
يربط الخلايا برؤوس الجدول لتحسين إمكانية الوصول.- CSS يُستخدم لتنسيق الجدول (الحدود، المسافات، إلخ).
النصائح العملية
- إمكانية الوصول (Accessibility):
- استخدم سمة
headers
لربط الخلايا برؤوس الجدول. - تأكد من أن المحتوى واضح ومنطقي حتى عند قراءته بواسطة قارئات الشاشة.
- استخدم سمة
- استخدام CSS بدلاً من السمات المهجورة:
للتحكم في المحاذاة، العرض، الارتفاع، أو الألوان، استخدم CSS. على سبيل المثال:
td { text-align: center; width: 100px; background-color: #ddd; }
- اختبار الجداول:
- تأكد من أن عدد الخلايا في كل صف متساوٍ (مع مراعاة
colspan
وrowspan
). - اختبر الجدول على شاشات مختلفة للتأكد من استجابته (Responsiveness).
- تأكد من أن عدد الخلايا في كل صف متساوٍ (مع مراعاة
- الجداول والتصميم المتجاوب:
الجداول قد تكون صعبة على الأجهزة المحمولة. فكر في استخدام
div
مع CSS Grid أو Flexbox لتصميمات أكثر مرونة إذا لم تكن الجداول ضرورية. - تحسين الأداء:
- تجنب الجداول المتداخلة كثيرًا لأنها قد تبطئ تحميل الصفحة.
- استخدم أقل عدد ممكن من السمات والتنسيقات المباشرة لتقليل حجم الكود.
الفرق بين <td>
وغيره من عناصر الجدول
<th>
: للرؤوس، عادةً بخط عريض ومتمركز.<tr>
: يحدد الصف الذي يحتوي على<td>
أو<th>
.<caption>
: يُضيف عنوانًا للجدول.<thead>، <tbody>، <tfoot>
: تُستخدم لتنظيم أقسام الجدول.
الخلاصــة
العنصر <td>
هو لبنة أساسية في بناء الجداول في HTML. يُستخدم لإنشاء خلايا تحتوي على بيانات الجدول، ويوفر مرونة كبيرة من خلال السمات مثل rowspan
وcolspan
. مع التنسيق المناسب باستخدام CSS ومراعاة إمكانية الوصول، يمكن لـ <td>
أن يُنتج جداول وظيفية وجذابة بصريًا. ومع ذلك، يجب استخدام الجداول بحذر وعدم الاعتماد عليها لتخطيط الصفحات، حيث تُعتبر CSS الحل الأمثل لذلك في التصميم الحديث.
إذا كنت بحاجة إلى أمثلة إضافية أو توضيح لنقطة معينة، أخبرني!