الجداول
توثيق وأمثلة لتصميم الجداول (نظرًا لاستخدامها السائد في ملحقات جافا سكريبت) مع Bootstrap.
أمثلة
نظرًا للاستخدام الواسع للجداول عبر أدوات الطرف الثالث مثل التقويمات ومنتقي التواريخ ، فقد صممنا جداولنا بحيث تكون قابلة للاشتراك . ما عليك سوى إضافة الفئة الأساسية .table
إلى أي فئة <table>
، ثم توسيعها باستخدام الأنماط المخصصة أو فئات التعديل المتضمنة المتنوعة الخاصة بنا.
باستخدام أبسط ترميز الجدول ، إليك كيف .table
تبدو الجداول المستندة إلى كيفية في Bootstrap. يتم توريث جميع أنماط الجدول في Bootstrap 4 ، مما يعني أن أي جداول متداخلة سيتم تصميمها بنفس طريقة النمط الأصلي.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري | الطائر | @تويتر |
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
يمكنك أيضًا عكس الألوان - بنص فاتح اللون على الخلفيات الداكنة - باستخدام .table-dark
.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري | الطائر | @تويتر |
<table class="table table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
خيارات رأس الجدول
على غرار الجداول والجداول المظلمة ، استخدم فئات التعديل .thead-light
أو .thead-dark
لجعلها <thead>
تظهر باللون الرمادي الفاتح أو الغامق.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري | الطائر | @تويتر |
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري | الطائر | @تويتر |
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
<table class="table">
<thead class="thead-light">
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
صفوف مخططة
استخدمه .table-striped
لإضافة مخطط حمار وحشي إلى أي صف جدول داخل ملف <tbody>
.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري | الطائر | @تويتر |
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري | الطائر | @تويتر |
<table class="table table-striped table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
جدول بحدود
أضف .table-bordered
للحدود الموجودة على كل جوانب الجدول والخلايا.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-bordered table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
طاولة بلا حدود
أضف .table-borderless
لجدول بلا حدود.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-borderless">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
.table-borderless
يمكن استخدامها أيضًا على الطاولات المظلمة.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-borderless table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
صفوف يمكن تحريكها
إضافة .table-hover
لتمكين حالة التمرير على صفوف الجدول داخل ملف <tbody>
.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-hover">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-hover table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
طاولة صغيرة
أضف .table-sm
لجعل الجداول أكثر إحكاما عن طريق قطع حشوة الخلايا إلى النصف.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-sm">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري الطائر | @تويتر |
<table class="table table-sm table-dark">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
الفئات السياقية
استخدم الفئات السياقية لتلوين صفوف الجدول أو الخلايا الفردية.
فصل | عنوان | عنوان |
---|---|---|
نشيط | خلية | خلية |
تقصير | خلية | خلية |
الأولية | خلية | خلية |
ثانوي | خلية | خلية |
النجاح | خلية | خلية |
خطر | خلية | خلية |
تحذير | خلية | خلية |
معلومات | خلية | خلية |
خفيفة | خلية | خلية |
مظلم | خلية | خلية |
<!-- On rows -->
<tr class="table-active">...</tr>
<tr class="table-primary">...</tr>
<tr class="table-secondary">...</tr>
<tr class="table-success">...</tr>
<tr class="table-danger">...</tr>
<tr class="table-warning">...</tr>
<tr class="table-info">...</tr>
<tr class="table-light">...</tr>
<tr class="table-dark">...</tr>
<!-- On cells (`td` or `th`) -->
<tr>
<td class="table-active">...</td>
<td class="table-primary">...</td>
<td class="table-secondary">...</td>
<td class="table-success">...</td>
<td class="table-danger">...</td>
<td class="table-warning">...</td>
<td class="table-info">...</td>
<td class="table-light">...</td>
<td class="table-dark">...</td>
</tr>
لا تتوفر متغيرات خلفية الجدول العادية مع الجدول المظلم ، ومع ذلك ، يمكنك استخدام أدوات مساعدة للنص أو الخلفية لتحقيق أنماط مماثلة.
# | عنوان | عنوان |
---|---|---|
1 | خلية | خلية |
2 | خلية | خلية |
3 | خلية | خلية |
4 | خلية | خلية |
5 | خلية | خلية |
6 | خلية | خلية |
7 | خلية | خلية |
8 | خلية | خلية |
9 | خلية | خلية |
<!-- On rows -->
<tr class="bg-primary">...</tr>
<tr class="bg-success">...</tr>
<tr class="bg-warning">...</tr>
<tr class="bg-danger">...</tr>
<tr class="bg-info">...</tr>
<!-- On cells (`td` or `th`) -->
<tr>
<td class="bg-primary">...</td>
<td class="bg-success">...</td>
<td class="bg-warning">...</td>
<td class="bg-danger">...</td>
<td class="bg-info">...</td>
</tr>
إيصال المعنى للتقنيات المساعدة
يوفر استخدام اللون لإضافة معنى فقط إشارة مرئية ، والتي لن يتم نقلها إلى مستخدمي التقنيات المساعدة - مثل قارئات الشاشة. تأكد من أن المعلومات التي يشير إليها اللون إما واضحة من المحتوى نفسه (مثل النص المرئي) ، أو يتم تضمينها من خلال وسائل بديلة ، مثل النص الإضافي المخفي مع .sr-only
الفصل.
أنشئ جداول متجاوبة بلف أي .table
منها .table-responsive{-sm|-md|-lg|-xl}
، مما يجعل الجدول يتم تمريره أفقيًا عند كل max-width
نقطة توقف تصل إلى (ولكن لا تشمل) 576 بكسل و 768 بكسل و 992 بكسل و 1120 بكسل على التوالي.
لاحظ أنه نظرًا لأن المتصفحات لا تدعم حاليًا استعلامات سياق النطاق ، فإننا نتعامل مع القيود والبادئات وإطارات min-
العرضmax-
ذات العروض الكسرية (والتي يمكن أن تحدث في ظل ظروف معينة على الأجهزة عالية الدقة ، على سبيل المثال) باستخدام قيم ذات دقة أعلى لهذه المقارنات .
التسميات التوضيحية
يعمل A <caption>
كعنوان للجدول. يساعد المستخدمين الذين يستخدمون برامج قراءة الشاشة في العثور على جدول وفهم ما يدور حوله وتحديد ما إذا كانوا يريدون قراءته.
# | أولاً | آخر | يتعامل |
---|---|---|---|
1 | علامة | أوتو | mdo |
2 | يعقوب | ثورنتون | @سمين |
3 | لاري | الطائر | @تويتر |
<table class="table">
<caption>List of users</caption>
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
جداول مستجيبة
تسمح الجداول المستجيبة بالتمرير أفقيًا بسهولة. اجعل أي جدول مستجيبًا عبر جميع إطارات العرض من خلال لفه .table
بـ .table-responsive
. أو اختر حدًا أقصى لنقطة الفصل التي يمكنك من خلالها الحصول على جدول سريع الاستجابة باستخدامه .table-responsive{-sm|-md|-lg|-xl}
.
القطع / الاقتطاع العمودي
تستفيد الجداول المستجيبة من overflow-y: hidden
أي محتوى يتجاوز الحواف السفلية أو العلوية للجدول. على وجه الخصوص ، يمكن أن يؤدي هذا إلى قص القوائم المنسدلة وأدوات الطرف الثالث الأخرى.
دائما متجاوب
عبر كل نقطة توقف ، استخدم .table-responsive
التمرير الأفقي للجداول.
# | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان |
---|---|---|---|---|---|---|---|---|---|
1 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
2 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
3 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
<div class="table-responsive">
<table class="table">
...
</table>
</div>
نقطة توقف محددة
استخدمه .table-responsive{-sm|-md|-lg|-xl}
حسب الحاجة لإنشاء جداول سريعة الاستجابة حتى نقطة توقف معينة. من نقطة التوقف هذه وما فوق ، سيتصرف الجدول بشكل طبيعي ولن يتم التمرير أفقيًا.
قد تظهر هذه الجداول مقطوعة حتى يتم تطبيق أنماطها المتجاوبة على عروض محددة لإطار العرض.
# | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان |
---|---|---|---|---|---|---|---|---|
1 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
2 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
3 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
<div class="table-responsive-sm">
<table class="table">
...
</table>
</div>
# | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان |
---|---|---|---|---|---|---|---|---|
1 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
2 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
3 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
<div class="table-responsive-md">
<table class="table">
...
</table>
</div>
# | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان |
---|---|---|---|---|---|---|---|---|
1 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
2 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
3 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
<div class="table-responsive-lg">
<table class="table">
...
</table>
</div>
# | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان | عنوان |
---|---|---|---|---|---|---|---|---|
1 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
2 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
3 | خلية | خلية | خلية | خلية | خلية | خلية | خلية | خلية |
<div class="table-responsive-xl">
<table class="table">
...
</table>
</div>