article

ایجاد جدول با تگ table در HTML

html-table

از جمله مباحثی که علاوه بر استفاده های عمومی برای حرفه ای ترهای دنیای وب نیز همواره کاربردی بوده مبحث ایجاد جدول در صفحات وب است که خوشبختانه مانند ترسیم جدول در برنامه هایی نظیر 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>
پیش نمایش آنلاین
sectionدسته بندی: آموزش مقدماتی » HTML
related مطالب بیشتر:
» فرمت بندی و کار با متن و پاراگراف در HTML
» لایه بندی در HTML با تگ div و span
» کار با تگ های ایجاد کننده لیست در HTML
» کاربرد تگ font و ویژگی های فونت در HTML
» متاتگ ها (Meta Tags) و کاربرد آنها در صفحات وب (HTML)
commentنظرات (۳۵ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: فرشته
۰۲:۳۴ ۱۳۹۸/۰۴/۱۲
چطور میشه برای یک تیبل دکمه حذف برای هر ستون و ویرایش گذاشت؟ تا بشه جدول رو تغییر داد؟ 😥
پاسخ: 
اول باید مشخص کنید ویرایش مد نظرتان صرفا در سمت کاربر و جدولی است که در مرورگر نمایش داده می شود یا نیاز است که اطلاعات موجود در دیتابیس نیز به روزرسانی شوند؟ در هر حال برای انجام این موارد نمی توانید به صرف HTML اکتفا کنید و بسته به مورد باید با JavaScript، PHP و کار با MySQL آشنا باشید.
نویسنده: علی
۰۱:۲۸ ۱۳۹۹/۰۲/۲۳
سلام میخوام مطالب مرتبط با موضوعات سایتم رو در پایین اونها نمایش بدم چجوری میتونم این کار رو بکنم
پاسخ: 
اگر منظورتان مطالب مرتبط در وبلاگتان است باید ببینید سرویس وبلاگ چنین امکانی (مطالب مرتبط) ارائه می کند یا خیر، اما اگر منظورتان مطالب سایر سایت ها است متاسفانه در وبلاگ ها برای این موارد خیلی جای مانور نیست، باید از ابزارهای فیدخوان RSS که سایت های ارائه دهنده ابزار وبلاگ نویسی ارائه می کنند استفاده کنید (آدرس فید RSS سایت مورد نظر را در ابزار وارد کرده و در نهایت کد دریافتی را در قالب وبلاگ درج کنید).
نویسنده: Oliver
۱۶:۰۷ ۱۳۹۹/۰۴/۱۸
چطوری دستور background رو برای جدلمون عکسش رو تنظیم کنیم و بهش طول و عرض بدیم
پاسخ: 
برای تنظیم تصویر پس زمینه تگ table در مجموع دو راه وجود دارد:
- استفاده از ویژگی background برای این تگ و تنظیم آدرس یک فایل عکس در HTML، مثال:
<table background="images/bg.jpg">
</table>
این حالت روش قدیمی و اولیه است و امکانات خاصی در اختیارمان قرار نمی دهد.
- استفاده از CSS جهت تنظیم استایل دلخواه برای تگ table یا تگ های زیرمجموعه آن مانند td و th، مثال:
<style>
.tbl-bg {
background: url(images/bg.jpg) repeat;
background-size: cover;
}
</style>
<table class="tbl-bg">
</table>
در این حالت طول و عرض تصویر پس زمینه متناسب با اندازه جدول تغییر و کل فضا را پوشش می دهد، برای اعمال تنظیمات بیشتر باید با ویژگی background در CSS آشنا باشیم.
۱۹:۱۴ ۱۳۹۹/۰۸/۲۹
سلام و خسته نباشید
من جدولی دارم که تعداد ستون های اون نسبتا زیاده. توی نمایشگر های دسکتاپ مشکلی ندارم اما تو گوشی و نمایشگرهای کوچیک مشکلات بیرون زدگی، جمع شدن زیاد نوشته ها و ... رخ می ده.
از اونجایی هم که داده های تمام ستون ها مفیده نمی تونم تو نمایشگرهای کوچکتر از نمایش بعضی ستون ها صرف نظر کنم.
در یک سایتی یه موردی دیدم که به شرح زیر کار می کرد:
وقتی نمایشگر بزرگ و مناسب بود تمام ستون ها را نمایش می داد. اما برای نمایشگر های کوچیکتر فقط ستونهای انتخابی رو نشون می داد با این تفاوت که یک کلید + تو هر ردیف نمایش می داد و با کلیک روی اون مابقی ستون هایی که مخفی کرده بود رو بصورت سطری زیر هم نمایش می داد. در حقیقت هر سطر رو به صورت ترکیبی سطر و ستون نمایش می داد.
تو کدها معلوم بود از جاوا اسکریپت هم استفاده کرده.
برای ساخت چنین جدولی می تونید راهنمایی کنید یا منبعی در اختیارم بگذارید
با تشکر
پاسخ: 
به شیوه های مختلفی می توانیم نحوه نمایش جدول را سفارشی سازی کنیم که بستگی به اطلاعات ستون ها و سطرها و شکل ارائه کار راه حل متفاوت خواهد بود، در هر حال اگر اسکرین شات تهیه یا آدرس نمونه URL را درج می کردید بهتر می توانستیم راهنمایی کنیم، با توجه به توضیحات یک راه حل این است که دو یا چند جدول داشته باشیم، یک جدول به صورت پیش فرض در حالت display مرئی باشد و جدول یا جداول دیگر display با مقدار none باشند، در نهایت یک دکمه داشته باشیم که جداول مخفی را نمایش دهد، مثال:
<style>
.table {
width: 400px;
margin: auto 0 auto auto;
text-align: center;
border: 1px solid #E5E5E5;
}
.table th {
background: #CCC;
border: 1px solid #E5E5E5;
}
.table td {
padding: 2px;
margin: 2px;
border: 1px solid #E5E5E5;
}
#hide {
display: none;
}
#button {
margin: 8px auto 0 auto;
display: block;
}
</style>
<table class="table">
<caption>
جدول
</caption>
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</table>
<table id="hide" class="table">
<tr>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
<th>تیتر جدول</th>
</tr>
<tr>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
<td>محتوای جدول</td>
</tr>
</table>
<button id="button" type="button" onclick="showExtraTable('hide', this.id)">اطلاعات بیشتر</button>
<script>
function showExtraTable(tbl_id, btn_id) {
var elm_tbl = document.getElementById(tbl_id);
var elm_btn = document.getElementById(btn_id);

elm_tbl.style.display = 'table';
elm_btn.style.display = 'none';
}
</script>
البته این کد جهت نمونه و در ساده ترین شکل ممکن نوشته شده، قاعدتا می توانیم سفارشی سازی های بیشتری با CSS و JavaScript انجام دهیم.
نویسنده: محمد
۲۰:۲۰ ۱۳۹۹/۰۹/۰۶
با عرض سلام و خسته نباشید ببخشید جدولی درست کردم با جیکوری دو عدد input دارم وقتی مقادیر رو وارد میکنم داخلش و دکمه اد رو میزنم به جدولم یک سطر اضافه میشه ولی مشکل اینجاست وقتی رفرش میکنم دوباره اون سطری که ساخته کلا پاک میشه و اگر بخوام هم پاک نشه هم بعد از زدن دکمه اون مقادیر سطرم داخل دیتا ذخیره بشه باید چیکار کنم از چه دستوری باید استفاده کنم ممنون از زحمات شما .
پاسخ: 
برای ذخیره مقادیر جدول در دیتابیس با جی کئوری ابتدا باید درخواست Ajax تنظیم و مقادیر را از این طریق به سرور (فایل PHP) ارسال کنید، در این فایل اطلاعات را در دیتابیس ذخیره کرده و در هنگام رفرش صفحه یا مراجعات بعدی مقادیر ذخیره شده را از دیتابیس استخراج و به صورت داینامیک (با ترکیب کدنویسی PHP و HTML) در تگ های جدول خروجی دهید.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





2 × 8
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form بنیامین
در:
درود. وقت بخیر. من یک سوالی از خدمتتون داشتم؟ من می خوام وقتی کاربر بنویسه بدون اینکه URL تغییر کنه. و اینکه چطوری بعد...
۱۳۹۹/۱۱/۰۷

form مهدی
در:
خیلی ممنون آموزش خیلی خوبی بود
۱۳۹۹/۱۱/۰۷

form علی
در:
سلام تشکر میکنم از شما و سایت فوق العاده عالی تون مشکلم حل شد تشکر میکنم موفق باشید
۱۳۹۹/۱۱/۰۵

form rofa
در:
سلام خسته نباشید خیلی ممنونم از مطالب خوبتون.. ببخشید علامتی که در سمت راست همین سایت هستش چجوری تغییر جهت میده با اسکرول کردن...
۱۳۹۹/۱۱/۰۵

form علی
در:
با سلام تشکر از سایت خوبتون و اموزشای خوبی که قرار میدین یک سوال داشتم من میخوام از یک فایل رشته ای همانند :...
۱۳۹۹/۱۱/۰۵

form علی
در:
با سلام سایت هایی من میخوام اطلاعاتی از سایتی بگیرم اما این سایت پس از چند ثانیه این اطلاعات رو به من نشون میده و...
۱۳۹۹/۱۱/۰۴

form شیدا
در:
سلام برای اینکه بتونم جدول ضرب 1 در 5 رو بنویسم چه کدهایی باید بنویسم؟
۱۳۹۹/۱۱/۰۳

form امیرحسین
در:
چرا استاد خیلی فرق داره الان کد زیر را شما در نظر بگیرید بین 0 تا 1 ثانیه طول میکشه اجرا شدنش خب شما...
۱۳۹۹/۱۱/۰۲

form امیرحسین
در:
سلام استاد حالتون چطوره، من یه سوال داشتم: تو پروژه های بزرگ که یک ارایه معمولا 20 عنصری یا نهایت 100 عنصری داشته باشیم...
۱۳۹۹/۱۱/۰۲

form کوثر رحیمی
در:
سلام ا ز راهنماییتون ممنونم من تازه وبلاگم رو درست کردم ۱۲ سالمه هر کاری می کنم فیلم در اون قرار نمیگیره همش این خطا...
۱۳۹۹/۱۰/۲۹

form متین
در:
سلام و خسته نباشید من بخوام داده ای که از قبل موجوده رو با متد پست به یک فایل ارسال کنم چجور میشه؟ یعنی...
۱۳۹۹/۱۰/۲۷

form روشنا
در:
سلام ما یه وبلاگ گروهی داریم مختص املاک فایل های جدید و حتی قالب جدید اصلا اعمال نمیشه . حتی راهنمایی که کرده...
۱۳۹۹/۱۰/۲۷

form علی
در:
من در یک سایت سازی سایت ساختم یه بخش داره به نام اسکریپت دلخواه می خوام یه اسکریپتی بذارم که مثلا یه موسیقی وقتی کاربر...
۱۳۹۹/۱۰/۲۷

form امیرحسین
در:
بله استاد خیلی ممنون، نمیدونستم خودش Optimize رو انجام میده در کل من بعد از ایندکس گذاری ها همیشه سعی کردم جوری که با...
۱۳۹۹/۱۰/۲۶

form امیرحسین
در:
ُسلام وقت بخیر این کووری هم چون اول قسمت WHERE انجام میشه بعد قسمت ON پس این کووری هم با حالت کووری قبلی برابره
۱۳۹۹/۱۰/۲۶
form امیرحسین
در:
سلام استاد وقت بخیر ممنون از پاسخ گویی های قبلی یه سوال دیگه داشتم: این هم هیچ مشکلی نداره و کار میکنه، ایا...
۱۳۹۹/۱۰/۲۵
form محمد بیدل بازه
در:
سلام خسته نباشید ببخشید من توی یک قسمت سایتم تصویری دارم و میخوام سمت راست اون تصویر متن بنویسم ولی نمیشه تا متن رو...
۱۳۹۹/۱۰/۲۵
form سلام
در:
و اینکه یه تگ خوب برای فونت معرفی کنید و یه تگ دیگه که متن رو (تیتر مطلب (تست)) در ادامش بنویسه نه اینکه...
۱۳۹۹/۱۰/۲۴
form سلام
در:
سلام وبسایتم را نگاه کنید از چه تگی استفاده کنم تا فاصله بین تیتر مطلب جدید را کاهش دهم؟ (از خطی به خط...
۱۳۹۹/۱۰/۲۴
form وطن
در:
سلام. خسته نباشید. خیلی گشتم درباره یک خطا یا ایراد فنی که چند روز هست در سایت نوشته شده با پی اچ پی (اسکریپت اولوشن)...
۱۳۹۹/۱۰/۲۴
form حورارمی
در:
سلام. من هنوز نمیدونم تو تنظیمات باید کجا رو بگردم تا قالب وبلاگم رو با عکس مورد علاقه ام تغییر بدم. یا نمیتونم...
۱۳۹۹/۱۰/۲۳
form راشد
در:
این روش خیلی طولانیه در فروشگاه من یک برنامه گرفتم که یه عکس توش اپلود کن بهت یک لینک میده در ظرف چند ثانیه و...
۱۳۹۹/۱۰/۲۱
form باسلام
در:
باسلام خدمت شما عزیز زحمت کش، من مطلب را تا آخر مطالعه کردم. من وبلاگم بازدیدای زیادی داره چون تمام مطالبش رو خودم مینویسم و...
۱۳۹۹/۱۰/۲۱
form محمود
در:
سلام و عرض ادب من در سایتم یک قسمت تب ایجاد کردم، متن ها را که در تب می نویسم پاراگراف بندی نمی شوند....
۱۳۹۹/۱۰/۲۱
form علی آقابیگی
در:
سلام خسته نباشید ببخشید من می خواستم کد جدید در وبلاگم بزارم بعد اشتباهی رفتم در قسمت ویرایش کدها و بعد بیشتر کدها را پاک...
۱۳۹۹/۱۰/۲۰
form محمد
در:
سلام. من میخوام با جاوا اسکریپت یک کدی بنویسم که وقتی کاربر روی یک دکمه ‏ای کلیک کرد، یک کد تصادفی برای شمارش ارسال...
۱۳۹۹/۱۰/۲۰
form پوریا
در:
سلام خسته نباشید، ممنونم بابت توضیحات خوبتون، یه مشکلی داشتم میخواستم ببینم امکانش هست راهنمایی کنید؟ فرض کنید یه اینطور متنی داریم: ...
۱۳۹۹/۱۰/۱۹
form seyedsobhanmansouri
در:
سلام خسته نباشید من سایتمو طراحی کردم اما به این مشکلات بر میخورم اول اینکه هدر سایتم نمایش داده نمیشه اصلا و بعد...
۱۳۹۹/۱۰/۱۹
form رضا
در:
سلام. ممنون بابت مطالب مفیدتون. این نوع جستجو به سئو سایت لطمه نمیزنه؟؟؟ چون در این مدل جستجو، مقدار impression میره بالا ولی...
۱۳۹۹/۱۰/۱۹
form mahdi
در:
سلام استاد عزیز ، پس بنظرتون بجای وقت گذاشتن برای یادگیری لاراول و وردپرس ، وقت بزارم که عمیق تر php و ساختار mvc...
۱۳۹۹/۱۰/۱۹
form علی
در:
سلام و ممنون بابت وبسایت عالیتون داخل بعضی سایت ها دیدید مثلا یه متنی شروع به تایپ شدن می کنه و وقتی کامل شد...
۱۳۹۹/۱۰/۱۸
form محمد
در:
سلام خدمت شما دوست عزیز سوالم این بود میخاستم چندتا مثال از این تابع و چند تابع دیگه از خودتون رو برام مثال بزنید...
۱۳۹۹/۱۰/۱۸
form محمود رنجبر
در:
سلام برادر مشکل من تو همین سایتی هست که فرستادم وقتی گزینه خانه رو کلیک میکنم و بعد دکمه بک گوشی رو میزنم بالای صفحه...
۱۳۹۹/۱۰/۱۷
form mahdi
در:
سلام استاد عزیز ، بعد از آموزس php با لاراول کار کنیم بهتره ؟
۱۳۹۹/۱۰/۱۶
form رضا
در:
آدرس رو براتون گذاشتم دامنه قبلا روی یه وبلاگ میهن بلاگ بود چند ماه میشه که از میهن بلاگ خداحافظی کردم ولی هنوز که هنوزه...
۱۳۹۹/۱۰/۱۴
form نیلو
در:
سلام... ببخشید بعد طراحی قالب قالب شیشه ایم هست یا نه؟؟؟
۱۳۹۹/۱۰/۱۳
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.