جدولها در HTML برای نمایش اطلاعات ساختاریافته به کار میروند و از تگهای خاصی مانند < table >، < tr >، < th > و < td > تشکیل میشوند. با استفاده از CSS میتوان به این جدولها استایل و طراحی جذابی بخشید که خوانایی و زیبایی آنها را افزایش دهد. در این مقاله به شما نشان میدهیم که چگونه با استفاده از CSS، جدولهایی زیبا و حرفهای طراحی کنید.
قبل از شروع استایلدهی، بهتر است ساختار اصلی یک جدول را بررسی کنیم. جدولها از چندین تگ اصلی تشکیل میشوند:
< table >: عنصر اصلی جدول.
< tr >: یک ردیف در جدول.
< th >: یک سلول سر ستون یا عنوان.
< td >: یک سلول داده.
ساختار یک جدول ساده در HTML:
< table >
< thead >
< tr >
< th > نام < / th >
< th > سن < / th >
< th > شغل < / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > علی < / td >
< td > 30 < / td >
< td > مهندس < / td >
< / tr >
< tr >
< td > محمد < / td >
< td > 25 < / td >
< td > طراح < / td >
< / tr >
< tr >
< td > سارا < / td >
< td > 27 < / td >
< td > نویسنده < / td >
< / tr >
< / tbody >
< / table >
در اینجا:
< thead > و < tbody > برای جداسازی بخش عنوان و بخش دادههای جدول استفاده شدهاند.
ابتدا بهتر است استایلهای پیشفرض جدول را حذف کنیم تا بتوانیم با آزادی بیشتر به استایلدهی بپردازیم.
table {
border-collapse: collapse;
width: 100%;
}
th, td {
padding: 8px;
text-align: left;
}
در اینجا:
border-collapse: collapse مرزهای بین سلولها را به هم میچسباند و از فاصله بین آنها جلوگیری میکند.
width: 100% جدول را به عرض کامل عنصر والد گسترش میدهد.
padding فاصله داخلی سلولها را تنظیم میکند تا متن درون سلولها کمی فاصله داشته باشد.
برای افزودن مرز به سلولهای جدول، میتوانید از ویژگی border در th و td استفاده کنید.
th, td {
border: 1px solid #ddd;
}
در اینجا، مرزی با ضخامت 1 پیکسل و رنگ خاکستری روشن برای سلولها ایجاد شده است.
تغییر رنگ سطرهای جدول به صورت متناوب باعث خوانایی بهتر جدول میشود. با استفاده از شبهکلاس (even) میتوانید به سطرهای زوج رنگ خاصی اختصاص دهید.
tbody tr:nth-child(even) {
background-color: #f2f2f2;
}
در اینجا، سطرهای زوج در بخش دادهها (tbody) به رنگ خاکستری روشن درمیآیند.
برای متمایز کردن سر ستونها از سایر سلولها، میتوانید رنگ پسزمینه و اندازه فونت را تغییر دهید.
th {
background-color: #3498db;
color: white;
font-weight: bold;
font-size: 16px;
}
در اینجا:
background-color رنگ پسزمینه سر ستونها را به آبی تغییر میدهد.
color: white رنگ متن را سفید میکند تا خوانایی بهتری داشته باشد.
برای بهبود ظاهر جدول، میتوانید از ویژگی border-radius برای گوشههای گرد و box-shadow برای افزودن سایه استفاده کنید.
table {
border-radius: 8px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}
در اینجا:
border-radius: 8px گوشههای جدول را گرد میکند.
box-shadow سایهای ملایم در اطراف جدول ایجاد میکند.
با استفاده از text-align و font-family میتوانید استایل متن در سلولهای جدول را تنظیم کنید.
th, td {
text-align: center;
font-family: Arial, sans-serif;
}
در اینجا، متن در تمامی سلولها در وسط تراز شده و از فونت سادهای استفاده میکند.
افکت hover میتواند جدول را تعاملیتر و جذابتر کند. به کمک این افکت، هنگامی که کاربر موس را روی ردیفی از جدول قرار میدهد، رنگ پسزمینه تغییر میکند.
tbody tr:hover {
background-color: #d9ebf5;
}
در اینجا، هنگام قرار گرفتن موس روی هر ردیف در بخش دادهها، رنگ پسزمینه آن ردیف به آبی ملایم تغییر میکند.
معمولاً در جدولها، دادههای عددی باید به سمت راست تراز شوند تا نظم بیشتری داشته باشند.
td.number {
text-align: right;
}
در اینجا، td.number دادههای عددی را به سمت راست تراز میکند. کافی است به سلولهای عددی کلاس number اضافه کنید.
برای سازگاری جدول با صفحهنمایشهای کوچک، میتوانید از ویژگیهای CSS و media queries استفاده کنید.
@media (max-width: 600px) {
table, thead, tbody, th, td, tr {
display: block;
}
th {
text-align: left;
}
td {
padding-left: 50%;
text-align: left;
position: relative;
}
td::before {
content: attr(data-label);
position: absolute;
left: 0;
padding-left: 15px;
font-weight: bold;
color: #3498db;
}
}
در اینجا:
display: block تمامی عناصر جدول را به حالت بلوکی درآورده که باعث میشود در صفحههای کوچک به صورت عمودی نمایش داده شوند.
td::before به هر سلول متنی اضافه میکند که نشاندهنده نوع داده (مانند "نام" یا "سن") است. برای استفاده از این روش، باید برای هر td، ویژگی data-label تعریف کنید.
در این بخش کد نهایی را که تمامی استایلها و افکتها را شامل میشود، ارائه میکنیم:
table {
width: 100%;
border-collapse: collapse;
border-radius: 8px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}
th, td {
padding: 10px;
border: 1px solid #ddd;
text-align: center;
font-family: Arial, sans-serif;
}
th {
background-color: #3498db;
color: white;
font-weight: bold;
}
tbody tr:nth-child(even) {
background-color: #f2f2f2;
}
tbody tr:hover {
background-color: #d9ebf5;
}
@media (max-width: 600px) {
table, thead, tbody, th, td, tr {
display: block;
}
td {
padding-left: 50%;
text-align: left;
position: relative;
}
td::before {
content: attr(data-label);
position: absolute;
left: 0;
padding-left: 15px;
font-weight: bold;
color: #3498db;
}
}
استایلدهی جدولها در CSS به شما امکان میدهد ظاهر و تجربه کاربری جدولها را بهبود بخشید و اطلاعات را به صورت منظم و جذاب ارائه کنید. با استفاده از ویژگیهای CSS مانند border-collapse، padding، hover و تکنیکهای واکنشگرا میتوانید جدولهایی زیبا و کاربرپسند طراحی کنید. با تمرین و استفاده از این نکات، میتوانید در طراحی وب به مهارتهای بهتری دست یابید و وبسایتهای جذابتری بسازید.
نظری یافت نشد
آموزش تگهای متنی اولیه در HTML: استایلدهی و قالببندی متنها
18م مرداد 1402
مطالعه بیشتر
مقدمهای به template و دیتابایندینگ در Vue.js: نحوه مدیریت دادهها و رندرینگ پویا
28م شهریور 1402
مطالعه بیشتر
ایجاد Layoutهای واکنشگرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع
11م آبان 1403
مطالعه بیشتر
آموزش کامل توابع سازنده (Constructors) و پروتوتایپها (Prototypes) در جاوا اسکریپت: راهنمای جامع
28م مهر 1403
مطالعه بیشتر
JSX و رندرینگ مؤثر در React.js: بهینهسازی کامپوننتها و بهبود عملکرد
28م شهریور 1402
مطالعه بیشتر
آموزش استفاده از جدول در HTML: طراحی و استایلدهی جدولهای ساده و پیشرفته
21م مرداد 1402
مطالعه بیشتر
آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر بهصورت دقیق
12م آبان 1403
مطالعه بیشتر
اصول پایه React.js: آشنایی با کامپوننتها، وضعیت و رندرینگ
28م شهریور 1402
مطالعه بیشتر
آموزش تکنیکهای پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنشگرا
18م شهریور 1402
مطالعه بیشتر
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403
مطالعه بیشتر
مفاهیم پیشرفته در کلاسها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثالها
29م مهر 1403
مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننتها
28م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد