کاربرد جدول در صفحات وب
ایجاد جدول با تگ table
خاصیت align
خاصیت valign
خاصیت background
خاصیت bgcolor
خاصیت border
خاصیت bordercolor
خاصیت cellpadding
خاصیت cellspacing
خاصیت height
خاصیت width
خاصیت rules
خاصیت title
ایجاد سطر جدید در جدول با تگ tr
ایجاد سرتیتر در جدول با تگ th
ایجاد سلول در جدول با تگ td
ایجاد عنوان جدول با تگ caption
گسترش عرض سلول با خاصیت colspan
گسترش ارتفاع سلول با خاصیت rowspan
گروه بندی ستون ها با تگ colgroup و col
فرمت بندی با تگ های thead، tbody و tfoot
مثال و پیش نمایش آنلاین
ایجاد جدول با تگ table در HTML
از جمله مباحثی که علاوه بر استفاده های عمومی برای حرفه ای ترهای دنیای وب نیز همواره کاربردی بوده مبحث ایجاد جدول در صفحات وب است که خوشبختانه مانند ترسیم جدول در برنامه هایی نظیر Microsoft Word این امکان با کدنویسی در اسناد HTML نیز فراهم شده است، همان طور که در آموزش های گذشته دیدیم برای خلق هر قسمت از صفحات وب با زبان HTML از علائم نشانه گذاری تحت عنوان تگ (Tag) استفاده می شود که در نهایت پس از پردازش توسط مرورگر به شکل عناصر قابل درک برای انسان (متن، تصویر، ویدئو، فرم و...) نمایان می شوند، ایجاد جدول نیز از این قاعده مستثنا نیست و برای آن از تگ استاندارد table استفاده می کنیم، با توجه به تنوع امکانات و پیچیدگی های خاص ایجاد جدول در صفحات وب تگ table به همراه زیر مجموعه ها و ویژگی هایی استفاده می شود که در ادامه در این خصوص مفصل خواهیم گفت.
کاربرد جدول در صفحات وب
جداول در زندگی روزمره کاربردهای زیادی دارند و بسیاری از اطلاعات در فرمت ردیف های سطر (Row) و ستون (Column) مرتبط به هم نمایش داده می شوند، نمایش محتوا در جدول این امکان را می دهد که با سرعت بیشتری اطلاعات پیچیده را تحلیل و به ارتباطات بین آنها پی ببریم و در نهایت به نتیجه مورد نظر برسیم، فلسفه اصلی به کارگیری جداول در صفحات وب نیز از این قاعده مستثنی نیست و برای دسته بندی و نمایش محتوایی که نیاز به سطر و ستون دارند به طور مثال اطلاعات آماری، نمایش نمرات، مقایسه محصولات، داده های تحلیلی و هر چیزی که به اصطلاح جدولی یا Tabular است استفاده می شود، البته به دلیل استحکام ساختار و راحتی کار مدتها از جدول در امر طراحی لایه ها و فرم بندی ظاهر صفحات وب نیز استفاده می شد که امروزه به دلیل معرفی زبان استایل نویسی CSS توصیه می شود از کاربرد جدول بخصوص در طراحی قالب پروژه هایی که به کسب رتبه بهتر در موتورهای جستجو و اصول سئو (SEO دانش بهینه سازی صفحات وب برای موتورهای جستجو) متکی هستند اجتناب کنیم، برای طراحی قالب های جدید تگ های دیگری مانند div گزینه بهتر و توصیه شده است.
ایجاد جدول با تگ table
برای ایجاد جدول در صفحات وب از تگ table استفاده می کنیم که در کنار تگ های زیرمجموعه شامل tr، th و td تکمیل می شود، table از تگ های فرعی دیگری شامل caption، col، colgroup، thead، tbody و tfoot نیز پشتیبانی می کند که هر کدام کاربرد و اثر خاصی دارند، نمونه کد زیر شروع ساختار ایجاد یک جدول در صفحات وب را نمایش می دهد:
<table>
<tr>
<td></td>
</tr>
</table>
هر جدول حداقل باید دارای یک ردیف با تگ tr (مخفف Table Row) باشد که هر ردیف می تواند یک یا چند سلول اطلاعات با تگ td (مخفف Table Data) را شامل شود، به عبارتی از نظر استاندارد کدنویسی تگ table حداقل باید یک تگ tr و یک تگ td در زیرمجموعه خود داشته باشد، علاوه بر تگ ها خاصیت های زیادی را نیز می توان به تگ table و عناصر آن نسبت داد که در ادامه و پیش از بررسی تگ های زیرمجموعه به آنها اشاره می کنیم.نکته: به این خاصیت ها در اصطلاح برنامه نویسی Attributes گفته می شود، Attribute در واقع صفت های اضافه اند که در تگ های آغازین قابل استفاده هستند و ویژگی ها و انعطاف پذیری بیشتری به تگ مورد نظر می دهند.
خاصیت align
خاصیت align تنظیم کننده موقعیت جدول به صورت افقی در سمت راست، چپ یا وسط صفحه است و با سه مقدار زیر تکمیل می شود:
center: تنظیم جدول در وسط صفحه
left: تنظیم جدول در سمت چپ صفحه
right: تنظیم جدول در سمت راست صفحه
<table border="1" align="right">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
در شیوه های نوین طراحی وب توصیه می شود ویژگی های ظاهری مانند چینش با استایل نویسی CSS تنظیم شوند نه خاصیت های HTML، لذا در این آموزش علاوه بر خاصیت های ذاتی تگ table روش توصیه شده با CSS را هم بررسی خواهیم کرد.تعریف align برای جدول با استایل CSS (روش توصیه شده):
<style>
#table-1{
margin-left:auto;
margin-right:0;
}
</style>
<table id="table-1" border="1">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
برای تنظیم فاصله جدول از گوشه های صفحه نمایش از ویژگی margin در CSS استفاده می کنیم.نکته: در خصوص خاصیت border در ادامه آموزش حاضر توضیح خواهیم داد.
خاصیت valign
برای تنظیم موقعیت محتوای داخل سلول های جدول به صورت عمودی (vertical) از خاصیت valign برای تگ های th و td استفاده می کنیم، این خاصیت با چند مقدار زیر قابل تنظیم است:
- top (بالا)
- baseline (خط مبنا)
- bottom (پائین)
- middle (وسط)
استفاده از خاصیت valign در مواردی که سلول بیش از یک واحد ارتفاع دارد می تواند کاربردی باشد، مثال:
<table border="1">
<tr>
<td rowspan="2" valign="top">اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
در خصوص خاصیت rowspan در ادامه آموزش با مثال توضیح خواهیم داد.تعریف valign برای تگ های جدول با استایل CSS (روش توصیه شده):
<style>
#table-1 td {
vertical-align: top;
}
</style>
<table border="1" id="table-1">
<tr>
<td rowspan="2">اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
برای تنظیم چینش عمودی محتوا در سلول های جدول با CSS از خاصیت vertical-align استفاده می کنیم.خاصیت background
اگر بخواهیم به جدولمان تصویر پس زمینه اختصاص دهیم خاصیت background برای این منظور در نظر گرفته شده است که مقادیر آن باید با آدرس URL مطلق (Absolute) یا نسبی (Relative) تصویر مورد نظر جایگزین شود، به طور مثال:
<table border="1" background="../background.png">
<tr>
<td>آدرس دهی نسبی</td>
</tr>
</table>
<table background="http://example.com/image/background.png">
<tr>
<td>آدرس دهی مطلق</td>
</tr>
</table>
گفتیم که خاصیت های مربوط به ظاهر عناصر وب را بهتر است با CSS تنظیم کنیم، برای تصویر پس زمینه نیز این حالت صدق می کند.تنظیم تصویر پس زمینه جدول با CSS (روش توصیه شده):
<style>
#table-1{
background: url('../image/background.png') no-repeat;
}
</style>
<table id="table-1" border="1">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
نکته: در آدرس دهی نسبی استفاده از دو نقطه (..) به این معنی است که محل قرارگیری فایل تصویر در دایرکتوری سطح بالاتر از محل قرارگیری فایل HTML است، به فرض اگر در قسمت آدرس بعد از دو نقطه صرفا نام فایل تصویر درج شود:../background.png
نمونه ساختار:template/background.png
template/publish/index.html
یعنی تصویر یک دایرکتوری بالاتر از فایل HTML قرار دارد و به همین ترتیب اگر چند دایرکتوری در آدرس باشد:../../image/background.png
نمونه ساختار:template/image/background.png
template/include/publish/index.html
به همان تعداد تصویر در دایرکتوری های بالاتر قرار دارد، بر همین اساس اگر از دونقطه استفاده نشود یعنی محل قرارگیری تصویر هم سطح یا پائین تر از محل قرارگیری فایل HTML است:image/background.png
نمونه ساختار:template/image/background.png
template/index.html
برای درک بهتر شیوه نسبی می توانیم چند فولدر به شکل ساختارهای بالا ایجاد و آدرس دهی نسبی را تست و بررسی کنیم.خاصیت bgcolor
علاوه بر تصویر پس زمینه این امکان وجود دارد که رنگ پس زمینه جدول را با خاصیت bgcolor تعیین کنیم، مقادیر خاصیت bgcolor می تواند کدهای رنگی هگز یا نام رنگ مورد نظر باشد، مثال:
<table border="1" bgcolor="#0066cc">
<tr>
<td>تنظیم رنگ با کدهای هگز</td>
</tr>
</table>
<table bgcolor="blue">
<tr>
<td>تنظیم رنگ با نام</td>
</tr>
</table>
تنظیم رنگ پس زمینه جدول با CSS (روش توصیه شده):<style>
#table-1{
background: #0066cc;
}
</style>
<table id="table-1" border="1">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
در لینک زیر جدول رنگ های با نام CSS و کد هگز معادل آنها درج شده است که می توانیم برای خاصیت های مربوط به تعیین رنگ از آنها استفاده کنیم:جدول رنگ های با نام و کد هگز معادل آنها در CSS
خاصیت border
از خاصیت border برای نمایش خط حاشیه جدول و سلول های داخلی می توانیم استفاده کنیم، مقادیر آن به صورت عددی در مقیاس پیکسل تعیین می شود، مثال:
<table border="1">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
نمایش خط حاشیه جدول با CSS (روش توصیه شده):<style>
#table-1, #table-1 td {
border: 1px solid;
}
</style>
<table id="table-1">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
دقت کنیم در حالت صرف HTML تعیین مقدار برای خاصیت border به صورت خودکار به تگ هایی مانند td و th سرایت می کند اما در حالت استایل CSS باید این تگ ها را انتخاب (Select) کنیم که بدین منظور از قوانین سلکتور در CSS استفاده می کنیم (به فرض ما تگ td را در کد بالا به این شیوه جهت اعمال استایل انتخاب کرده ایم)، البته در این مرحله قصد ما آموزش CSS نیست و در حد آشنایی اولیه کفایت می کند.خاصیت bordercolor
خاصیت bordercolor رنگ خط حاشیه جدول و سلول های داخلی آن را مشخص می کند، مقادیر این ویژگی نیز با نام رنگ ها یا کدهای هگز تنظیم می شود، مثال:
<table border="1" bordercolor="#FF6600">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
علاوه بر خاصیت bordercolor می توانیم از خاصیت های bordercolorlight و bordercolordark استفاده کنیم، البته این خاصیت ها به جزء در مرورگر اینترنت اکسپلورر ممکن است در برخی مرورگرها با اشکالاتی همراه باشند یا به خوبی پشتیبانی نشوند، در هر صورت bordercolorlight رنگ زاویه بالایی جدول و bordercolordark رنگ زاویه پائینی آن را تنظیم می کند، مثال:<table border="1" bordercolor="#FF6600" bordercolorlight="#FF6600" bordercolordark="#FF6600">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
تنظیم رنگ خط حاشیه جدول با CSS (روش توصیه شده):همانند تنظیم رنگ با استایل CSS برای خاصیت boder این امکان برای خاصیت bordercolor نیز وجود دارد، مثال:
<style>
#table-1, #table-1 td {
border: 1px solid #FF6600;
}
</style>
<table id="table-1">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
بر خلاف خاصیت های ذاتی HTML که محدود به موارد قراردادی و از قبل تعریف شده هستند، در CSS می توانیم جلوه های متنوع بیشتری به تگ های HTML نسبت دهیم.خاصیت cellpadding
خاصیت cellpadding در جدول میزان فاصله محتوا از حاشیه سلول را مشخص می کند، مقدار این خاصیت نیز به پیکسل است و هر چه عدد تعیین شده بزرگتر باشد فضای خالی داخلی سلول ها نیز وسیعتر شده و محتوای درون آنها با فاصله بیشتری از حدود دربرگیرنده نمایش داده می شود، مثال:
<table border="1" cellpadding="8">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
تنظیم حاشیه سلول در جدول با CSS (روش توصیه شده):برای تنظیم میزان حاشیه سلول در جدول با CSS از خاصیت padding استفاده می کنیم.
<style>
#table-1, #table-1 td {
border: 1px solid #FF6600;
}
#table-1 td {
padding: 8px;
}
</style>
<table id="table-1">
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
بر خلاف cellpadding که بر تگ های td و th تاثیرگذار است، خاصیت padding را می توان به تگ table نیز نسبت داد.خاصیت cellspacing
خاصیت cellspacing در جدول میزان فضا و فاصله بین سلول های داخلی از هم و از حاشیه جدول را مشخص می کند، مقادیر این خاصیت نیز به صورت پیکسل تعیین می شود، مثال:
<table border="1" cellpadding="8" cellspacing="12">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
تنظیم فاصله بین سلول ها در جدول با CSS (روش توصیه شده):برای تنظیم فاصله بین سلول ها در جدول با CSS از خاصیت border-spacing و در صورت نیاز به تنظیمات بیشتر border-collapse استفاده می کنیم.
<style>
#table-1, #table-1 td {
border: 1px solid #FF6600;
border-spacing: 12px;
border-collapse: separate;
}
#table-1 td {
padding: 8px;
}
</style>
<table id="table-1">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
با خاصیت border-collapse می توانیم تعیین کنیم که تاثیرپذیری خطوط سلول های جدول با هم مشترک (مقدار collapse) باشند یا از هم مستقل (مقدار separate) و در نتیجه کار تفاوت را مشاهده کنیم.خاصیت height
برای تنظیم ارتفاع کلی جدول از خاصیت height استفاده می کنیم، مقادیر این خاصیت به پیکسل تعیین می شود، مثال:
<table border="1" cellpadding="8" cellspacing="12" height="500">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
تنظیم ارتفاع جدول با CSS (روش توصیه شده):برای تنظیم ارتفاع کلی جدول با استایل CSS از خاصیت height برای تگ table می توانیم استفاده کنیم.
<style>
#table-1{
height: 500px;
}
#table-1, #table-1 td {
border: 1px solid #FF6600;
border-spacing: 12px;
border-collapse: separate;
}
#table-1 td {
padding: 8px;
}
</style>
<table id="table-1">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
در حالت پیش فرض با تغییر ابعاد جدول اندازه سلول های اطلاعات (تگ td) نیز به صورت خودکار تغییر می کند.خاصیت width
برای تنظیم عرض کلی جدول از خاصیت width استفاده می کنیم، مقادیر این خاصیت نیز به پیکسل تعیین می شود، مثال:
<table border="1" cellpadding="8" cellspacing="12" height="500" width="400">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
تنظیم عرض جدول با CSS (روش توصیه شده):برای تنظیم عرض کلی جدول با استایل CSS از خاصیت width برای تگ table استفاده می کنیم.
<style>
#table-1{
height: 500px;
width: 400px;
}
#table-1, #table-1 td {
border: 1px solid #FF6600;
border-spacing: 12px;
border-collapse: separate;
}
#table-1 td {
padding: 8px;
}
</style>
<table id="table-1">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
با CSS این امکان وجود دارد که برای تگ های زیرمجموعه table ارتفاع و عرض مجزا تعریف کنیم.خاصیت rules
خاصیت rules برای تعیین نحوه ترسیم خطوط میانی جدول به کار می رود، در حالت پیش فرض با تعیین خاصیت border در جدول برای تمام سلول ها (تگ td)، ستون ها (تگ th) و ردیف ها (تگ tr) خطوط ترسیم می شود، اما با تعیین ویژگی rules می توانیم نمایش خطوط را سفارشی کنیم، ویژگی rules با چند مقدار زیر تنظیم می شود:
all: خطوط برای تمام سلول ها، ردیف ها و ستون ها ایجاد می شود (حالت پیش فرض).
cols: خطوط صرفا برای ستون ها (تگ th) ترسیم می شود.
rows: خطوط صرفا برای ردیف ها (تگ tr) ترسیم می شود.
groups: خطوط برای گروهی از ردیف ها یا ستون ها ترسیم می شود.
none: هیچ خطی داخل جدول ترسیم نمی شود.
<table border="1" cellpadding="8" cellspacing="12" height="500" width="400" rules="cols">
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
<table border="1" cellpadding="8" cellspacing="12" height="500" width="400" rules="rows">
<tr>
<td>اطلاعات جدول</td>
</tr>
<tr>
<td>اطلاعات جدول</td>
</tr>
<tr>
<td>اطلاعات جدول</td>
</tr>
</table>
در ادامه آموزش حاضر در خصوص نحوه گروه بندی در جدول و استفاده از مقدار groups توضیح خواهیم داد.خاصیت title
از خاصیت title برای ایجاد عنوان متنی جدول استفاده می شود، این عنوان در هنگامی که نشانه گر ماوس را داخل جدول ببریم به صورت بالن (Tooltip) ظاهر می شود.
<table border="1" cellpadding="8" cellspacing="12" height="200" width="200" title="عنوانی برای جدول">
<tr>
<td>نشانه گر ماوس را در این قسمت نگهدارید</td>
</tr>
</table>
در نظر گرفتن عنوان برای جدول علاوه بر استفاده های معمول می تواند از نظر سئو (SEO یا بهینه سازی صفحات وب برای موتورهای جستجو) مفید باشد و به فهم بهتر محتوای جدول توسط ربات ها کمک کند.ایجاد سطر جدید در جدول با تگ tr
از تگ tr (مخفف Table Row) برای ایجاد سطر جدید در جدول استفاده می شود، این تگ یکتا نیست و باید پایان آن بسته شود، تگ tr می تواند شامل یک یا چند تگ th یا td باشد، مثال:
<table border="1">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
با پردازش کدها مرورگر سلول های هر ردیف را در یک راستا نمایش می دهد و ردیف بعدی به یک سطح پایین تر منتقل می شود.ایجاد سرتیتر در جدول با تگ th
تگ th (مخفف Table Header) در جدول نشانگر سرتیتر است، با استفاده از این تگ می توانیم اطلاعات جدول را در عناوین مختلف دسته بندی کنیم، مثال:
<table border="1">
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
در حالت معمول هر تگ th به اندازه یک سلول فضا ایجاد می کند و معمولا تعداد سرتیترها به اندازه سلول های ردیف ها در نظر گرفته می شود، البته با خاصیت هایی مانند colspan می توانیم اندازه سرتیتر را بیش از یک سلول تنظیم کنیم (در ادامه خواهیم گفت).ایجاد سلول در جدول با تگ td
گفتیم تگ table به تنهایی کاربردی ندارد و معمولا باید هر جدول حداقل شامل تگ های tr و td باشد، تگ td (مخفف Table Data) سلول های داخلی جدول را می سازد که دربرگیرنده اطلاعات هستند، مثال:
<table border="1">
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
سه تگ tr، th و td بیشترین کاربرد را در ایجاد جداول با تگ table در صفحات وب دارند.ایجاد عنوان جدول با تگ caption
از تگ caption برای ایجاد عنوان جدول استفاده می شود، این عنوان در قسمت بالای جدول قرار می گیرد و معرف محتوای آن است، برای هر جدول تنها می توان از یک caption استفاده کرد و این تگ باید بلافاصله بعد از تگ table قرار گیرد، مثال:
<table border="1">
<caption>عنوانی برای جدول</caption>
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
در اصطلاح برنامه نویسی تگ table (تگ سطح بالاتر) را والد (Parent) و تگ caption (تگ زیرمجموعه) را فرزند (Child) می گویند، caption باید نخستین فرزند والد خود باشد.گسترش عرض سلول با خاصیت colspan
در حالت معمول هر تگ th یا td در جدول به اندازه یک سلول ستون ابعاد (عرض و ارتفاع) خود را گسترش می دهد، اگر بخواهیم این حالت را تغییر دهیم و به فرض در جهت افقی هر تگ بیش از یک سلول فضا اشغال کند می توانیم از خاصیت colspan برای تگ های th یا td استفاده کنیم، مقادیر این خاصیت نشانگر حداکثر تعداد سلولی است که عرض تگ هدف می تواند به اندازه آن به صورت افقی کشیده شود و در واقع بیش از یک سلول فضا اشغال کند، مثال:
<table border="1">
<tr>
<th colspan="2">تیتر جدول</th>
<th colspan="3">تیتر جدول</th>
</tr>
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
</table>
<table border="1">
<tr>
<th colspan="3">تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
<td>اطلاعات جدول</td>
</tr>
<tr>
<td colspan="4">اطلاعات جدول</td>
</tr>
</table>
نکته: تنظیم colspan با عدد صفر تنها برای ستون های گروهی کاربرد دارد، در خصوص ایجاد گروه در جدول در ادامه خواهیم گفت.گسترش ارتفاع سلول با خاصیت rowspan
در کنار خاصیت colspan که جهت توسعه عرض تگ های th و td در جداول کاربرد دارد خاصیت دیگری تحت عنوان rowspan برای این تگ ها قابل استفاده است که ارتفاع سلول را گسترش می دهد، با در نظر گرفتن مقادیر عددی برای خاصیت rowspan تگ هدف می تواند به همان اندازه به صورت عمودی تغییر ارتفاع دهد و بیش از یک سلول فضا اشغال کند، مثال:
<table border="1">
<tr>
<th rowspan="2">تیتر جدول</th>
<td>اطلاعات جدول</td>
<td rowspan="2">اطلاعات جدول</td>
</tr>
<tr>
<td>اطلاعات جدول</td>
</tr>
<tr>
<th>تیتر جدول</th>
<td colspan="2">اطلاعات جدول</td>
</tr>
</table>
دقت کنیم خاصیت rowspan به طرفین (در حالت معمول از چپ به راست) و colspan به سمت پائین سلول را گسترش می دهد، میزان تعیین شده برای این گسترش اجباری نیست و در صورتی اعمال می شود که فضای مناسب برای آن وجود داشته باشد و به فرض با تگ دیگری تداخل نکند، به عبارتی مقادیر تعیین شده حداکثر مقدار قابل اعمال هستند، با آزمایش و خطا می توانیم با نحوه اثر این خاصیت ها بر روی عناصر جدول بیشتر آشنا شویم.گروه بندی ستون ها با تگ colgroup و col
از تگ colgroup و col برای فرمت بندی و استایل دهی به ستون های جدول به صورت تفکیک شده و گروهی استفاده می کنیم، به فرض در یک جدول با سه ستون می توانیم سه فرمت بندی متفاوت داشته باشیم، تگ colgroup و col را باید بلافاصله بعد از تگ table قرار داد (نخستین فرزند والد خود باشد)، از colgroup به همراه تگ یکتای col استفاده می کنیم، مثال:
<table border="1">
<colgroup>
<col style="background-color:#6CF">
<col style="background-color:#CCC">
<col style="background-color:#FC0;">
</colgroup>
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</table>
تنظیم استایل تگ colgroup و col با کلاس های CSS (روش توصیه شده):<style>
#table-1, #table-1 td {
border: 1px solid #E5E5E5;
}
#table-1 .col-1 {
background-color:#6CF;
}
#table-1 .col-2 {
background-color:#CCC;
}
#table-1 .col-3 {
background-color:#FC0;
}
</style>
<table id="table-1">
<colgroup>
<col class="col-1">
<col class="col-2">
<col class="col-3">
</colgroup>
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</table>
در هر دو نمونه کد بالا از CSS استفاده کرده ایم منتها روش دوم مبتنی بر استایل غیرخطی و از نظر سئو بهینه تر است (در مرحله فراگیری HTML آشنایی در حد مثال های بالا کفایت می کند، برای گام های بعدی در این خصوص در آموزش های CSS توضیح خواهیم داد).فرمت بندی با تگ های thead، tbody و tfoot
سه تگ thead، tbody و tfoot شیوه ی دیگری از فرمت بندی را در جداول HTML ارائه می کنند، با thead می توانیم سرتیترها را به صورت گروهی و متمایز نشان دهیم، تگ tbody بر روی عناصر داخلی جدول تاثیر گذار است و tfoot ردیف پایانی یک جدول را تحت تاثیر قرار می دهد، این تگ ها به خودی خود تغییر خاصی ایجاد نمی کنند و باید با ویژگی های CSS تنظیم شوند، مثال:
<table border="1">
<thead style="color:#F60;">
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
</thead>
<tbody style="color:#FC0">
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</tbody>
<tfoot style="color:#CCC">
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</tfoot>
</table>
استفاده از CSS برای تنظیم استایل تگ های thead، tbody و tfoot (روش توصیه شده):<style>
#table-1, #table-1 td {
border: 1px solid #E5E5E5;
}
#table-1 thead {
background-color:#6CF;
}
#table-1 tbody {
background-color:#CCC;
}
#table-1 tfoot {
background-color:#FC0;
text-align: center;
}
</style>
<table id="table-1">
<thead>
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
</thead>
<tbody>
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">محتوای جدول</td>
</tr>
</tfoot>
</table>
استفاده از این تگ ها اختیاری است و علاوه بر بحث استایل دهی می تواند به خواناتر شدن ساختار کدنویسی جدول مخصوصا برای موتورهای جستجو کمک کننده باشد.مثال و پیش نمایش آنلاین
برای آشنایی بیشتر با نحوه ترسیم جداول و خواص آنها در صفحات HTML چند جدول متفاوت را در نمونه کدهای زیر ترسیم کرده ایم که می توانیم به صورت آنلاین پیش نمایش را بررسی کنیم.
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | ترسیم جداول در صفحات وب</title>
<!-- Webgoo.ir -->
<style>
body {
font-family: Tahoma, Geneva, sans-serif;
font-size: 12px;
direction: rtl;
}
#table-1 {
width: 400px;
margin: 0 auto;
text-align: center;
border: 1px solid #E5E5E5;
}
#table-1 th {
background: #CCC;
border: 1px solid #E5E5E5;
}
#table-1 td {
padding: 2px;
margin: 2px;
border: 1px solid #E5E5E5;
}
#table-2 {
width: 400px;
margin: auto 0 auto auto;
text-align: center;
border: 1px solid #E5E5E5;
}
#table-2 th {
background: #CCC;
border: 1px solid #E5E5E5;
}
#table-2 td {
padding: 2px;
margin: 2px;
border: 1px solid #E5E5E5;
}
#table-3 {
width: 400px;
margin: auto auto auto 0;
text-align: center;
border: 1px solid #E5E5E5;
}
#table-3 th {
background: #CCC;
border: 1px solid #E5E5E5;
}
#table-3 td {
padding: 2px;
margin: 2px;
border: 1px solid #E5E5E5;
}
#table-4 {
width: 400px;
margin: auto 0 auto auto;
text-align: center;
border: 1px solid #E5E5E5;
}
#table-4 th {
background: #CCC;
border: 1px solid #E5E5E5;
}
#table-4 td {
padding: 2px;
margin: 2px;
border: 1px solid #E5E5E5;
}
.col-1 {
background-color:#6CF;
}
.col-2 {
background-color:#CF0;
}
.col-3 {
background-color:#FC0;
}
.clear {
width: 100%;
clear: both;
}
</style>
</head>
<body>
<!-- جدول شماره 1 -->
<table id="table-1">
<caption>
جدول شماره 1
</caption>
<tr>
<th colspan="2">تیتر th colspan</th>
<th>تیتر th</th>
</tr>
<tr>
<td>سلول td 1</td>
<td>سلول td 2</td>
<td>سلول td 3</td>
</tr>
<tr>
<td>سلول td 4</td>
<td>سلول td 5</td>
<td>سلول td 6</td>
</tr>
</table>
<!-- جدول شماره 2 -->
<table id="table-2">
<caption>
جدول شماره 2
</caption>
<colgroup>
<col class="col-1">
<col class="col-2">
<col class="col-3">
</colgroup>
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</table>
<!-- جدول شماره 3 -->
<table id="table-3">
<caption>
جدول شماره 3
</caption>
<tr>
<th class="col-1">تیتر th</th>
<th class="col-1">تیتر th</th>
<th class="col-1" rowspan="3">تیتر th rowspan</th>
</tr>
<tr>
<td>سلول 1</td>
<td>سلول 2</td>
</tr>
<tr>
<td>سلول 3</td>
<td>سلول 4</td>
</tr>
</table>
<div class="clear"></div>
<!-- جدول شماره 4 -->
<table id="table-4">
<caption>
جدول شماره 4
</caption>
<tr>
<th>تیتر 1</th>
<td class="col-1">سلول 1</td>
<td class="col-1">سلول 2</td>
</tr>
<tr>
<th>تیتر 2</th>
<td class="col-2">سلول 3</td>
<td class="col-2">سلول 4</td>
</tr>
<tr>
<th>تیتر 3</th>
<td class="col-3">سلول 5</td>
<td class="col-3">سلول 6</td>
</tr>
</table>
</body>
</html>
پیش نمایش آنلاینمتاتگ ها (Meta Tags) و کاربرد آنها در صفحات وب (HTML)
آشنایی با مفهوم Semantic در HTML
کار با تگ های ایجاد کننده لیست در HTML
تگ های اصلی و کلیدی HTML
لایه بندی در HTML با تگ div و span
دیدگاه جدید بر اساس تاریخ ارسال در انتهای دیدگاه های موجود نمایش داده می شود.
خسته نباشيد
من مي خوام يه همچين جدولي درست كنم
راهنماييم مي كنيد؟
http://8pic.ir/images/68899477069823482367.png
من ویژگی colspan رو نفهمیدم
میتونید راهنماییم کنید؟
ویژگی rules برای چیست و چه موقع هایی استفاده می شود؟
ضمن تشکر از مطالب بسیار خوب و جامع شما، سوالی داشتم ...
در قسمت تگ <th> خاصیتی به نام bgcolor را معرفی کردید، برای رنگ پس زمینه ی سلول! این کد در صفحه ی HTML معمولی - نوت پد و تبدیل آن به web page - جواب می دهد، اما در برنامه ی Visual Studio 2013 این کد ناشناخته است! مشکل از کجاست ؟
با تشکر ...
./
را بذارم پس چرا عکس رو نشون نمیده؟من یک table دارم با دو ستون ، در ستون سمت راست مطالب زیادی هست ولی در ستون سمت چپ فقط 1 مطلب قرار دارد!
بدلیل وجود مطالب زیاد در ستون سمت راست ارتفاع جدول زیاد می شود و مطلبی که در ستون سمت چپ قرار دارد ، در وسط ستون سمت چپ قرار می گیرد!
چیکار کنم که مطلب موجود در ستون سمت چپ هم از بالا شروع شود و در وسط ستون قرار نگیرد!
<td valign="top"></td>
آیا امکانش هست با استفاده از table فضای مورد نظر عناصر سایتمون را مشخص کنیم و بعد مقدار border=0 قرار بدیم ؟ اینکار تو بهینه سازی سایتمون تاثیر نمیزاره؟
اگر منظور مشاهده آفلاین است، می توانید صفحه را ذخیره کنید (در آینده امکانی برای پرینت و ذخیره مقاله به صورت مستقیم فراهم خواهد شد).
باید به تگ pre در HTML خاصیت direction:ltr و استایل CSS دلخواه اختصاص دهید!
اینو ببینید مشکلم اینه
http://www.kordavang.ir/music/ghaleb
- نکته دوم اینکه ظاهرا تگ های جدول را با تگ div تلفیق کرده اید، در این صورت باید با CSS آشنا باشید تا بتوانید استایل inline به بلاک ها اختصاص دهید و عرض آنها را طوری تنظیم کنید که در یک خط باشند.
نتیجه: از جدول برای فرمت بندی قالب وب استفاده نکنید، سعی کنید استایل نویسی CSS را در کنار کار با بلاک های div فرا بگیرید.
من از تگ table استفاده میکنم اما نتیجه در مرورگر مشاهده نمیشود . مشکل از کجاست لطفا راهنمایی کنید . مرسی!!!!!
پاسخگویی به سوالات ممکن است تا ۲۴ ساعت زمان ببرد.
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.