از طرف دیگر، div کد کمتر و بهینهتری (<div> </div>) نسبت به یک table (که معادل <table><tr><td></td></tr></table>) ایجاد میکند. که این هم باعث کاهش حجم صفحه تولیدی میشود و هم باعث لود شدن سریعتر صفحه .
نکته دیگری که وجود دارد آن است که crawler ها که وظیفه جستجوی و ذخیره کردن صفحات را برای موتورهای جستجو ( مثل گوگل ) بعهده دارند. چون بصورت معنایی صفحات را crawl می کنند بنابراین اگر صفحه شما بهتر و معنایی تر ایجاد شده باشد ، از Page rank بالاتری هم برخوردار خواهد بود. مشکل Crawler ها در ایجاد ارتباط بین مطالب داخل تیبل است. زمانیکه شما مطالب مرتبط با یک موضوع را در بخش های مختلف یک تیبل قرار میدید Crawler ها در نحوه ارتباط این بخش ها با هم و همچنین نحوه ارتباطشون با مطلب اصلی دچار سردرگمی میشن.
نکته دیگری که یک div را در قالب بندی دردرجه بالاتری قرار می دهد، انعطاف پذیری آن در CSS هاست. به این معنی که شما می توانید یک قالب چندین منظوره ایجاد کنید و بعد با تغییر مکان div ها که با css انجام میدهید . کل قالب صفحه تغییر شکل پیدا میکند.
حالا با این همه برتری div نسبت به table ممکن است برای شما این سوال ایجاد شود که table برای چه مواردی باید استفاده شود. طراحان html همانطور که div را برای قالب بندی وقرار دادن متن و تصویر پیادهسازی کردند. table را هم برای ایجاد صفحات به شکل Tab و ایجاد جداول (لیست های موجود در صفحه) بوجود آوردند. در اکثر مواقع توصیه میشود که برای پیادهسازی Tab ها از table استفاده کنید. همانطور که مسلما خود شما هم متوجه شدید با استفاده از یک table براحتی میتوان یک tab را پیادهسازی کرد. درصورتی که اگر بخواهید همان tab را با div پیادهسازی کنید باید زمان و انرژی بیشتری صرف کنید.
در کل با توجه به این نکات کلیدی :
- حجم کمتر صفحه تولید شده
- Page rank بالاتر در گوگل و سایر search engine ها
- قالب انعطاف پذیرتر
- برای قراردادن متن و تصویر در وب توصیه شده که از div استفاده شود
- کنترل بیشتر بوسیله css
- جدول صرفا برای ساختار tabی مناسب است
- کنترل و حرکت توسط آژاکس
- …
به شما اکیدا توصیه میکنم که بجای استفاده از table در قالببندی صفحات از div استفاده کنید و از قدرت آن لذت ببرید.
جالب بود!