100% کامل شده تا

استایل‌دهی جدول اچ‌تی‌ام‌ال (HTML Table Styling)

از موتو کد، دانشنامهٔ برنامه‌نویسی


از CSS برای بهتر جلوه دادن جداول خود استفاده کنید.[۱]


جدول HTML - نوارهای راه راه

اگر روی هر ردیف جدول، رنگ پس زمینه اضافه کنید، جلوه‌ای زیبا از نوارهای راه‌راه (Zebra Stripes) خواهید داشت.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20


برای حالت‌دهی به دیگر عناصر ردیف جدول، از انتخاب کننده :nth-child(even) به این شکل استفاده کنید:

مثال

tr:nth-child(even) {
  background-color: #D6EEEE;
}

مثال

<!DOCTYPE html>
<html>
<head>
<style>
table {
  border-collapse: collapse;
  width: 100%;
}

th, td {
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #D6EEEE;
}
</style>
</head>
<body>

<h2>Zebra Striped Table</h2>
<p>For zebra-striped tables, use the nth-child() selector and add a background-color to all even (or odd) table rows:</p>

<table>
  <tr>
  <th>First Name</th>
  <th>Last Name</th>
  <th>Points</th>
  </tr>
  <tr>
  <td>Peter</td>
  <td>Griffin</td>
  <td>$100</td>
  </tr>
  <tr>
  <td>Lois</td>
  <td>Griffin</td>
  <td>$150</td>
  </tr>
  <tr>
  <td>Joe</td>
  <td>Swanson</td>
  <td>$300</td>
  </tr>
  <tr>
  <td>Cleveland</td>
  <td>Brown</td>
  <td>$250</td>
  </tr>
</table>

</body>
</html>

Responsive demo.svg


توجه: اگر از (odd) به جای (even) استفاده می‌کنید، حالت‌دهی در ردیف ۱، ۳، ۵ و غیره به جای ۲، ۴، ۶ و غیره رخ می‌دهد.


جدول اچ‌تی‌ام‌ال - نوارهای راه‌راه عمودی (HTML Table - Vertical Zebra Stripes)

برای ایجاد نوارهای راه‌راه عمودی، به جای هر ردیف بعدی، به هر ستون بعدی استایل دهید.

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20


ویژگی :nth-child(even) را برای عناصر داده جدول مانند زیر تنظیم کنید:

مثال

td:nth-child(even), th:nth-child(even) {
  background-color: #D6EEEE;
}

مثال

<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
  border: 1px solid black;
  border-collapse: collapse;
}

th:nth-child(even),td:nth-child(even) {
  background-color: #D6EEEE;
}
</style>
</head>
<body>

<h2>Striped Table</h2>
<p>For zebra-striped tables, use the nth-child() selector and add a background-color to all even (or odd) table rows:</p>

<table style="width:100%">
  <tr>
    <th>MON</th>
    <th>TUE</th>
    <th>WED</th>
    <th>THU</th>
    <th>FRI</th>
    <th>SAT</th>
    <th>SUN</th>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
</table>

</body>
</html>

Responsive demo.svg


توجه: اگر می‌خواهید حالت را روی سربرگ‌ها و سلول‌های جدول بصورت معمولی داشته باشید ، انتخاب کننده :nth-child() را روی هر دو عنصر th و td قرار دهید.




نوارهای عمودی و افقی راه‌راه را با هم ترکیب کنید

می‌توانید استایل دو مثال بالا را با هم ترکیب کنید و در هر ردیف بعدی و هر ستون بعدی راه‌راه خواهد شد.

اگر از رنگ شفاف استفاده می‌کنید، جلوه‌ای همپوشانی خواهید داشت.

                 
                 
                 
                 
                 


برای مشخص کردن شفافیت رنگ از رنگ rgba() استفاده کنید:

مثال

tr:nth-child(even) {
  background-color: rgba(150, 212, 212, 0.4);
}

th:nth-child(even),td:nth-child(even) {
  background-color: rgba(150, 212, 212, 0.4);
}

مثال

<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
  border: 1px solid black;
  border-collapse: collapse;
}

tr:nth-child(even) {
  background-color: rgba(150, 212, 212, 0.4);
}

th:nth-child(even),td:nth-child(even) {
  background-color: rgba(150, 212, 212, 0.4);
}
</style>
</head>
<body>

<h2>Striped Table</h2>
<p>For zebra-striped tables, use the nth-child() selector and add a background-color to all even (or odd) table rows:</p>

<table style="width:100%">
  <tr>
    <th>MON</th>
    <th>TUE</th>
    <th>WED</th>
    <th>THU</th>
    <th>FRI</th>
    <th>SAT</th>
    <th>SUN</th>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
  <tr>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
    <td> </td>
  </tr>
</table>

</body>
</html>

Responsive demo.svg



تقسیم‌کننده‌های افقی (Horizontal Dividers)

First Name Last Name Savings
Peter Griffin $100
Lois Griffin $150
Joe Swanson $300


اگر فقط در پائین هر سطر جدول حاشیه‌ها را مشخص کنید، جدولی با تقسیم‌کننده‌های افقی خواهید داشت.

برای به‌دست‌آوردن تقسیم‌کننده‌های افقی، ویژگی border-bottom را به همهٔ عناصر tr اضافه کنید:

مثال

tr {
  border-bottom: 1px solid #ddd;
}

مثال

<!DOCTYPE html>
<html>
<head>
<style>
table {
  border-collapse: collapse;
  width: 100%;
}

tr {
  border-bottom: 1px solid #ddd;
}
</style>
</head>
<body>

<h2>Bordered Table Dividers</h2>
<p>Add the border-bottom property to the tr elements for horizontal dividers:</p>

<table>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
  <th>Savings</th>
  </tr>
  <tr>
    <td>Peter</td>
    <td>Griffin</td>
    <td>$100</td>
  </tr>
  <tr>
    <td>Lois</td>
    <td>Griffin</td>
    <td>$150</td>
  </tr>
  <tr>
    <td>Joe</td>
    <td>Swanson</td>
    <td>$300</td>
  </tr>
  <tr>
    <td>Cleveland</td>
    <td>Brown</td>
    <td>$250</td>
  </tr>
</table>

</body>
</html>

Responsive demo.svg



جدول هاوردار (Hoverable Table)

با استفاده از :hover و جابجایی موس روی ستون‌ها، برای رنگی کردن سطرهای عنصر tr در جدول استفاده کنید:

First Name Last Name Savings
Peter Griffin $100
Lois Griffin $150
Joe Swanson $300


مثال

tr:hover {background-color: #D6EEEE;}

مثال

<!DOCTYPE html>
<html>
<head>
<style>
table {
  border-collapse: collapse;
  width: 100%;
}

th, td {
  padding: 8px;
  text-align: left;
  border-bottom: 1px solid #DDD;
}

tr:hover {background-color: #D6EEEE;}
</style>
</head>
<body>

<h2>Hoverable Table</h2>
<p>Move the mouse over the table rows to see the effect.</p>

<table>
  <tr>
    <th>First Name</th>
    <th>Last Name</th>
    <th>Points</th>
  </tr>
  <tr>
    <td>Peter</td>
    <td>Griffin</td>
    <td>$100</td>
  </tr>
  <tr>
    <td>Lois</td>
    <td>Griffin</td>
    <td>$150</td>
  </tr>
  <tr>
    <td>Joe</td>
    <td>Swanson</td>
    <td>$300</td>
  </tr>
  <tr>
    <td>Cleveland</td>
    <td>Brown</td>
    <td>$250</td>
  </tr>
</table>

</body>
</html>

Responsive demo.svg



منابع آموزشی




به‌روزرسانی شده: ۳۷ روز پیش