آموزش Html جلسه پنجم

جداول (  Tables )

 در اين درس با المان جدول ( Table ) ، سلولها يا خانه ها، مرز و border در جداول و تگ های مربوطه مخصوصا تگهای TABLE ، TD , TR آشنا خواهيد شد. توجه داشته باشید که جداول یکی از مهمترین المانهای آرایش و layout میباشند.


جدولها

برای تعريف جداول از تگ <table> استفاده ميشود. يک جدول از يک يا چند سطر که با کمک تگ <tr> تعريف ميشوند، تشکيل ميشود. هر رديف يا row از يک يا چند سلول، خانه يا cell تشکيل گرديده که با کمک تگ <td> ايجاد ميشوند. نام های td و tr به ترتيب خلاصه شده table row و table data ميباشند.
محتوی يک سلول ميتواند متن، تصوير، فهرستها، جداول ديگر، پاراگرافها و ... باشد.

مثال زير جدولی است با دو سطر و سه ستون :
 

کد اچتمل جدولی با دو سطر و سه ستون

نمايش جدول روبرو توسط مرورگر

<table border="1" dir="rtl">
<tr>
<td>رديف 1، سلول 1</td>
<td>رديف 1، سلول 2</td>
<td>رديف 1، سلول 3</td>
</tr>
<tr>
<td>رديف 2، سلول 1</td>
<td>رديف 2، سلول 2</td>
<td>رديف 2، سلول 3</td>
</tr>
</table>

 

رديف 1، سلول 1

رديف 1، سلول 2

رديف 1، سلول 3

رديف 2، سلول 1

رديف 2، سلول 2

رديف 2، سلول 3

 


 
جدولها و شناسه border و dir :

 ·  در مثال بالا شناسه border مرز جدول را مشخص ميکند، مقدار 1 مرزی با ضخامت يک پيکسل را نمايش خواهد داد و مقدار صفر جدول را بدون مرز نمايش خواهد داد. توجه داشته باشيد که حالت پيش فرض يعنی جدولی بدون شناسه border ، جداول بدون مرز را نمايش خواهد داد.

·  در مثال بالا شناسه dir يا direction و مقدار rtl برای آن، سبب تعيين نمايش جهت متون از راست به چپ خواهد شد و چو ن در داخل تک table تعريف شده است به تمامی سلولهای جدول اعمال خواهذ شد.

·  ساده ترين جدول ممکن در اچتمل، جدولی است با يک سطر و يک ستون!

 


سرستون در جداول (Headings)

سرستونها در جداول با کمک تگ <th> تعريف ميشوند. مثال زير نحوه تعريف سرستونها را در جداول نمايش ميدهد:


 

کد اچتمل جدولی با سه سطر و سه ستون

نمايش جدول روبرو توسط مرورگر

<table border="1" dir="rtl">
<tr>
<th>سرستون ا</th>
<th>سرستون 2</th>
<th>سرستون 3</th>
</tr>
<tr>
<td>رديف 1، سلول 1</td>
<td>رديف 1، سلول 2</td>
<td>رديف 1، سلول 3</td>
</tr>
<tr>
<td>رديف 2، سلول 1</td>
<td>رديف 2، سلول 2</td>
<td>رديف 2، سلول 3</td>
</tr>
</table>

 

سرستون ا

سرستون 2

سرستون 3

رديف 1، سلول 1

رديف 1، سلول 2

رديف 1، سلول 3

رديف 2، سلول 1

رديف 2، سلول 2

رديف 2، سلول 3

 

همانطوريکه مشاهده ميکنيد سر ستونها مانند سلولهای معمولی جداول تعريف ميشوند و فقط به جای td از th استفاده شده و لی در نمايش محتوای سر ستونها bold يا توپر نمايش داده خواهند شد.


خانه های خالی در جداول (Empty Cells)

اگر محتوای خانه ای از يک جدول خالی باشد چه چيزی بايد نمايش داده شود؟ بسته به مرورگری که استفاده ميکنيد نتيجه نمايش متفاوت است و مثلا در مثال زير خانه خالی جدول بدون مرز نمايش داده خواهد شد:

کد اچتمل جدولی با دو سطر و دو ستون

نمايش جدول روبرو توسط مرورگر

<table border="1" dir="rtl">
<tr>
<td>رديف 1، سلول 1</td>
<td>رديف 1، سلول 2</td>
</tr>
<tr>
<td>رديف 2، سلول 1</td>
<td></td>
</tr>
</table>

 

رديف 1، سلول 1

رديف 1، سلول 2

رديف 2، سلول 1

 

 


 

در اينگونه موارد برای رفع مشکل کافی است که از non-breaking space (&nbsp;) يا همان نويسه و کاراکتر قاصله و بلانک استفاده شود و در مورد مثال ذکر شده مرورگر جدول را به شکل زير نمايش خواهد داد:

کد اچتمل جدولی با دو سطر و دو ستون

نمايش جدول روبرو توسط مرورگر

<table border="1" dir="rtl">
<tr>
<td>رديف 1، سلول 1</td>
<td>رديف 1، سلول 2</td>
</tr>
<tr>
<td>رديف 2، سلول 1</td>
<td>&nbsp;</td>
</tr>
</table>

 

رديف 1، سلول 1

رديف 1، سلول 2

رديف 2، سلول 1

 

 


 

توجه داشته باشيد که اينبار مرزهای خانه خالی جدول بدرستی ترسيم گرديده اند.


چند نکته اساسی در مورد جداول:

 

·  در جداول، رديفها، خانه ها و سر ستونها از تعداد زيادی از شناسه ها ميتوانيد استفاده کنيد که شرح همگی آنها از حوصله اين دوره مقدماتی خارج است و توصيه ميشود که از مثالهای زير و جدول واقع در انتهای اين صفحه برای مطالعه هر چه بيشتر در مورد جزئيات شناسه ها استفاده شود.

·  شناسه dir قابل استفاده در بسياری از تگها ( مثلا table ، tr ، td ، th ) ميباشد. با کمک شناسه dir و مقدار rtl برای آن، جهت نمايش متون فارسی از "راست به چپ" تعيين ميگردد. توجه داشته باشيد که مقدار شناسه dir به صورت موروثی از table به tr و th و از tr و th به td خواهد رسيد.مثلا برای تعيين مقدار rtl برای تمامی خانه های يک جدول کافی است که فقط شناسه مزبور را در تگ table قيد کنيد و نيازی به قيد آن در تمامی خانه های جدول نيست. البته ميتوانيد که در مورد يک رديف خاص و يا يک خانه خاص شناسه dir را موردی تعيين کنيد.

 


تگهای جداول
 

Start Tag

Purpose

کاربرد

<table>

Defines a table

تعريف جدول

<th>

Defines a table header

تعريف سرستون در جداول

 

<tr>

Defines a table row

تعريف رديف ها در جداول

 

<td>

Defines a table cell

تعريف سلول يا خانه های يک جدول

 

<caption>

Defines a table caption

تعريف عنوان جدول

 

 

 

فریمها  ( Frames )

 

با کمک فريمها قادر به نمايش همزمان بيش از يک صفحه وب در پنجره مرورگر خواهيد شد. در اين درس با مفاهيم فريم ( Frame ) و تگ های مربوطه مخصوصا تگهای Frame و Frameset آشنا خواهيد شد.



فريمها (Frames)

با کمک فريمها قادر به نمايش همزمان بيش از يک صفحه وب در پنجره مرورگر خواهيد شد. هر صفحه يا دريچه، فريم (frame) ناميده شده و فريمها کاملا مستقل از هم ميباشند. محتوای هر فريم هم ميتواند هر صفحه يا وب سايتی باشد. هر چند که فريمها طراحی سايتهای کوچک و متوسط را بسيار آسان ميکنند ولی استفاده از آنها در کارهای حرفه ای توصيه نميشود.(به جز در موارد خاص)

معايب استفاده از فريمها:

  • موتورهای جستجو با صفحات طراحی شده با فريمها مشکل دارند.
  • چاپ و print صفحاتی که از فريمها استفاده ميکنند مشکل است.
  • صفحاتی که از فريمها استفاده ميکنند معمولا مبتدی بودن طراح سايت را نشان ميدهد!!

تگ فريم ست (Frameset)

  • تگ <frameset> به تعريف فريمها و تقسيم بندی پنجره مرورگر ميپردازد.
  • هر تگ <frameset> مجموعه ای از رديفها يا ستونها را تعريف ميکند.
  • داخل هر فريم ميتواند frameset ديگری قرار دهيد.
  • با کمک شناسه های rows و cols ابعاد و نسبت هر فريم تعيين ميگردد.
  • تگ <frameset> درون تگهای <html> و <html/> قرار ميگيرد.(نيازی به قيد تگ body هنگام معرفی يک frameset نيست.)

تگ فريم (Frame)

  • کاربرد اصلی تگ <frame> تعيين source يا نام صفحه ای است که بايد در فريم ها نمايش داده شود.

مثال زير مجموعه ای از فريمها را که شامل دو فريم عمودی ميباشند معرفی ميکند. از سمت چپ فريم اول 75 درصد و فريم دوم 25 درصد از عرض پنجره مرورگر را به خود نمايش خواهند داد. در ادامه تعريف محتويات هر فريم، درون فريم اول فايل "frame_left.html" و درون فريم دوم فايل "frame_right.html" نمايش داده خواهد شد.

<html>
<frameset cols="75%,25%">
   <frame src="frame_left.html">
   <frame src="frame_right.html">
</frameset>
</html>

برای نمايش مثال بالا به سه فايل نياز داريد، frame_left.html ،frame_right.html و فايل کد اچتمل بالا.


شناسه های cols و rows در تگ frameset

شناسه

مقدار شناسه

کارکرد

cols

عرض پنجره بر اساس پيکسل، درصد يا علامت *

تعيين تعداد و اندازه ستونها در فريم ست

rows

عرض پنجره بر اساس پيکسل، درصد يا علامت *

تعيين تعداد و اندازه رديفها در فريم ست

مثالهای زير را در نظر بگيريد:

مثال 2

مثال 1

<html>
<frameset cols="25%,50%,25%">
   <frame src="frame_3.html">
   <frame src="frame_2.html">
   <frame src="frame_1.html">
</frameset>
</html>

 

<html>
<frameset cols="*,200">
   <frame src="frame_2.html">
   <frame src="frame_1.html">
</frameset>
</html>

 

 

 

در مثال يک عرض فريم اول از سمت راست 200 پيکسل تعيين شده و بقيه عرض پنجره که با علامت * مشخص ميشود به فريم دوم اختصاص خواهد يافت.
در مثال دوم عرض پنجره با مقادير درصدی به فريمها اختصاص يافته است.
در مورد شناسه
rows دقيقا قراردادهای بالا برقرارند.


نکات کاربردی:

* اگر فريمهای طراحی شده مرزهای قابل مشاهده دارند توسط کاربر قابل تغيير اندازه (resize) خواهند بود و برای جلوگيری از تغيير اندازه فريمها توسط کاربر بايد از شناسه ای به نام noresize در داخل تگ <frame> استفاده شود.

* اگر ميخواهيد که فريمها scroll نشوند (بالا و پايين بردن صفحه توسط ماوس) بايد در تگ frame مقدار شناسه scrolling را برابر "no" قرار دهيد. (مقادير ممکن "yes" ، "no" و "auto" ميباشند.) 

* اگر ميخواهيد که مرز بين فريمها نمايش داده نشوند بايد در تگ frame مقدار شناسه frameborder را برابر "0" قرار دهيد.

* درصد بسيار کمی از مرورگرها از تگهای مربوط به frame و frameset پشتيبانی نميکنند. برای اين موارد بايد از تگ <noframes> جهت نمايش صفحه جايگزين استفاده شود.


تگ های فريم
 

Start Tag

Purpose

کاربرد

<frameset>

Defines a set of frames

تعريف مجموعه ای از فريم ها

<frame>

Defines a sub window (a frame)

تعريف يک فريم

<noframes>

Defines a noframe section for browsers that do not handle frames

تعريف جايگزين برای مرورگرهائي که از فريم ها پشتيبانی نميکنند.

<iframe>

Defines an inline sub window (frame)

تعريف فريم های درجا (inline)

 

صفحه نخست
مقالات
Html آموزش
لینک ها
دانلود برنامه
دانلود آهنگ و فیلم
کد جاوا
خنده بازار
ترفند
لغت نامه ها
جستجوگر طلایی
ارتباط با ما

صفحه نخست | مقالات | Html آموزش | لینک ها | دانلود برنامه | دانلود آهنگ و فیلم | کد جاوا | خنده بازار | ترفند | لغت نامه ها | جستجوگر طلایی | ارتباط با ما