Bootstrap 5 Tables
-
بنتعلم في هذا الدرس امكانيات Bootstrap في التعامل مع الجداول، وحيث تعتبر الجداول من المكونات المهمة جدا في صفحات ومواقع الانترنت.حيث يوفر Bootstrap مجموعة من Class المخصصة للتعامل مع الجدول من البسيط الى المتقدم.
بنتعرف في هذا الدرس على مجموعة من Class الي بتستخدم مع Table:
Basic Table
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Welcome, Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Basic Table</h2>
<p>Apply basic styling (light padding and horizontal dividers) to a table by using .table class:</p>
<table class="table">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layan</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
نتيجة التنفيذ بتكون :
Striped Rows
في هذا class يتم اضافة تصميم شبيه بالحمار الوحشي على شكل مخطط واسم class هو table-striped
طبق الكود التالي في صفحة HTML
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Welcome, Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Basic Table</h2>
<p>Apply basic styling (light padding and horizontal dividers) to a table by using .table class:</p>
<table class="table table-striped">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layan</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

في هذا class يتم اضافة حدود borders على جميع جوانب الجدول بالاضافة الى الخلايا cells واسم class هو table-bordered
طبق الكود التالي في صفحة HTML :
<!DOCTYPE html><html lang="en" ><head><title>Welcome, Bootstrap Example</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script></head><body><div class="container mt-3"><h2>Basic bordered</h2><p>Apply border styling (light padding and horizontal dividers) to a table by using .table-bordered class:</p><table class="table table-striped table-bordered"><thead><tr><th>Firstname</th><th>Lastname</th><th>Email</th></tr></thead><tbody><tr><td>Layan</td><td>Hatem</td><td>[email protected]</td></tr><tr><td>Lareen</td><td>Hatem</td><td>[email protected]</td></tr><tr><td>Mlak</td><td>Hatem</td><td>[email protected]</td></tr></tbody></table></div></body></html>
بتكون نتيجة التنفيذ:
لاحظ ان طبقنا اكثر من class على نفس الجدول فا كانت النتيجة عرض الصفات جميعها في جدول واحد
في هذا class يتم تغير لون السطر عند تمرير المؤشر فوق Row بلون خلفية واسم class هو table-hover
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Welcome, Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>table-hover</h2>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layan</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

في هذا class يتم اضافة خلفية بلون اسود للجدول واسم class هو table-dark.
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Welcome, Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>table-hover</h2>
<table class="table table-striped table-bordered table-hover table-dark">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layan</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

يمكن الجمع بين مجموعه من class وتطبيقها على الجدول بنفس الطريقة السابقة.
طبق الكود التالي:
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Welcome, Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>table-hover</h2>
<table class="table table-striped table-bordered table-hover table-dark">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layan</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en" >
<head>
<title>Welcome, Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>table borderless</h2>
<table class="table table-borderless">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layan</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Contextual Classes</h2>
<table class="table">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Default</td>
<td>Defaultson</td>
<td>[email protected]</td>
</tr>
<tr class="table-primary">
<td>Primary</td>
<td>Primary</td>
<td>[email protected]</td>
</tr>
<tr class="table-success">
<td>Success</td>
<td>Success</td>
<td>[email protected]</td>
</tr>
<tr class="table-danger">
<td>Danger</td>
<td>Danger</td>
<td>[email protected]</td>
</tr>
<tr class="table-info">
<td>Info</td>
<td>Info</td>
<td>[email protected]</td>
</tr>
<tr class="table-warning">
<td>Warning</td>
<td>Warning</td>
<td>[email protected]</td>
</tr>
<tr class="table-active">
<td>Active</td>
<td>Active</td>
<td>[email protected]</td>
</tr>
<tr class="table-secondary">
<td>Secondary</td>
<td>Secondary</td>
<td>[email protected]</td>
</tr>
<tr class="table-light">
<td>Light</td>
<td>Light</td>
<td>[email protected]</td>
</tr>
<tr class="table-dark">
<td>Dark</td>
<td>Dark</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

اسم class | الوصف |
.table-primary | يتم تطبيق اللون الازرق Blue عند الحاجة الى عرض معلومة مهمه important action |
.table-success | يتم تطبيق اللون الأخضر Green الي بدل على إجراء ناجح أو إيجابي successful or positive action |
.table-danger | يتم تطبيق اللون الأحمر Red ويشير إلى عمل خطير أو سلبي محتمل dangerous or potentially negative action |
.table-info | يتم تطبيق اللون ازرق فاتح Light blue يشير الى تغيير طبيعي neutral informative وعرض معلومة طبيعة |
.table-warning | يتم تطبيق اللون الأحمر البرتقالي Orange يشير إلى تحذير warning |
.table-active | يتم تطبيق اللون الرمادي Grey يستخدم لإضافة تأثير عند تحريك المؤشر على الجدول. |
.table-secondary | يتم تطبيق اللون الرمادي Grey يشير إلى إجراء أقل أهمية قليلاً |
.table-light | يتم تطبيق اللون الرمادي الفاتح Light grey ويستخدم لتطبيق خلفية row الجدول |
.table-dark | يتم تطبيق اللون الرمادي الغامق Dark grey ويستخدم لتطبيق خلفية row الجدول |
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Table Head Colors</h2>
<p>You can use any of the contextual classes to only add a color to the table header:</p>
<table class="table">
<thead class="table-primary">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layn</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Table Head Colors</h2>
<p>You can use any of the contextual classes to only add a color to the table header:</p>
<table class="table">
<thead class="table-primary">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layn</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
<table class="table table-sm">
<thead class="table-primary">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layn</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Responsive Table</h2>
<p>The .table-responsive class adds a scrollbar to the table when needed:</p>
<div class="table-responsive">
<table class="table">
<thead class="table-primary">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Mobile</th>
<th>Address1</th>
<th>Address2</th>
<th>Address3</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Layn</td>
<td>Hatem</td>
<td>0000000000</td>
<td>Jordan</td>
<td>Jordan</td>
<td>Jordan</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Lareen</td>
<td>Hatem</td>
<td>0000000000</td>
<td>Jordan</td>
<td>Jordan</td>
<td>Jordan</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Mlak</td>
<td>Hatem</td>
<td>0000000000</td>
<td>Jordan</td>
<td>Jordan</td>
<td>Jordan</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>

اسم class | الوصف |
table-responsive-sm. | < 576px |
table-responsive-md. | < 768px |
table-responsive-lg. | < 992px |
table-responsive-xl. | < 1200px |
table-responsive-xxl. | < 1400px |
اترك تعليقك