PDA

View Full Version : سوال: Table و HTML ؛ مشکل کجاست؟



Delphi-Man
چهارشنبه 29 تیر 1390, 23:09 عصر
با سلام

با توجه به تجربه ای که دارم، Table راه خیلی خوبی برای Cross Browser کردن سایته. یعنی قسمت های مختلف سایت رو شامل پنل های بالا و چپ و راست و ... رو با Table بدون Border و CellSpacing و ... بسازیم. یه جا دیدم نوشته بود کسی رو استخدام میکنن که از Table تو قالب استفاده نکنه. حالا آیا این کار ضایعه یا عیب خاصی داره؟!! ممنون میشم نظرتون رو بیان کنید.

golnouri
چهارشنبه 29 تیر 1390, 23:30 عصر
اول اینکه من نیز چند سال پیش از تگ Table برای سلول بندی سایت استفاده می کردم.
اما به گفته ی استاد درس زبان برنامه نویسی وب گوش کردم و کار با DIV رو شروع کردم.
اولش خیلی برام سخت بود اما پس از مدتی دیدم بسیار (++) بهتر از Table و همچنین دارای مزیتهای مختلف است.

کار با Table = اشتباه
دلیل:
*. تعداد کدهای ایجاد شده در قیاس با DIV بسیار بیشتر است (سرعت لود سایت و ...)
. همچنین بسیاری از پارامترهای که در DIV (مثل runt و ...) وجود داره در Table به درستی اجرا نمیشه

تنها نکته ای که DIV داره اینه که باید CSS بلد باشید.
(اگر نگاهی به سایتهای خوب بندازید یه ندرت یک Table تو سورسش ببینید)

Delphi-Man
چهارشنبه 29 تیر 1390, 23:53 عصر
اول اینکه من نیز چند سال پیش از تگ Table برای سلول بندی سایت استفاده می کردم.
اما به گفته ی استاد درس زبان برنامه نویسی وب گوش کردم و کار با DIV رو شروع کردم.
اولش خیلی برام سخت بود اما پس از مدتی دیدم بسیار (++) بهتر از Table و همچنین دارای مزیتهای مختلف است.

کار با Table = اشتباه
دلیل:
*. تعداد کدهای ایجاد شده در قیاس با DIV بسیار بیشتر است (سرعت لود سایت و ...)
. همچنین بسیاری از پارامترهای که در DIV (مثل runt و ...) وجود داره در Table به درستی اجرا نمیشه

تنها نکته ای که DIV داره اینه که باید CSS بلد باشید.
(اگر نگاهی به سایتهای خوب بندازید یه ندرت یک Table تو سورسش ببینید)
من CSS ام نسبتاً خوبه و DIV هم زیاد استفاده میکنم ولی نمیدونم چرا خیلی سخته که توی مرورگرها نتیجه ها رو با هم ست کنیم!
پ.ن: راستی رشته ی شما دقیقا چی بوده؟ چون من امسال انتخاب رشته دارم میخوام برم یه رشته ی مرتبط با کامپیوتر. (غیر از کارشناسی IT)

debugger
شنبه 01 مرداد 1390, 17:08 عصر
table و div هیچ فرقی با هم ندارند .

تا حالا دیدین یه سایتی را باز می کنید صفحه سفیده و یهویی سایت ظاهر میشه . این سایت ها از table برای طراحی استفاده کردن .

مرورگر ها وقتی تگ table را می بینن تا زمانی که تگ table را بسته نبینند محتوایش را نمایش نمی دهند. یعنی باید انتهای تگ تیبل را ببینند تا ان را نمایش دهند

ولی در div به این صورت نیست مرورگر وقتی به تگ div رسید کاری با انتهای تگ div نداره هر چی می بینه نمایش میده . خیلی از سایت ها را دیدن که تکه تکه لود می شوند دلیلش همینه

و الان این مساله در مرورگر های firefox و opera و .... حل شده و با table مثل div برخورد می کنند

mamali-mohammad
شنبه 01 مرداد 1390, 19:29 عصر
منم از پایه div کار کردم
انعطاف بالایی داره
روی SEO هم تاثیر مثبت میزاره

golnouri
دوشنبه 03 مرداد 1390, 00:01 صبح
table و div هیچ فرقی با هم ندارند .

تا حالا دیدین یه سایتی را باز می کنید صفحه سفیده و یهویی سایت ظاهر میشه . این سایت ها از table برای طراحی استفاده کردن .

مرورگر ها وقتی تگ table را می بینن تا زمانی که تگ table را بسته نبینند محتوایش را نمایش نمی دهند. یعنی باید انتهای تگ تیبل را ببینند تا ان را نمایش دهند

ولی در div به این صورت نیست مرورگر وقتی به تگ div رسید کاری با انتهای تگ div نداره هر چی می بینه نمایش میده . خیلی از سایت ها را دیدن که تکه تکه لود می شوند دلیلش همینه

و الان این مساله در مرورگر های firefox و opera و .... حل شده و با table مثل div برخورد می کنند

تقریبا تمام طراحان وب به این نتیجه رسیدن که DIV گزینه ی بهتریست.
table و div هیچ فرقی با هم ندارند == FALSE
به هر حال موفق باشید.

Delphi-Man
شنبه 15 مرداد 1390, 11:48 صبح
پس با این حساب div بهتره ولی چطوری میشه از div موقعی که سایت مطابق با پنجره ی مرورگر تغییر اندازه پیدا میکنه استفاده کرد؟! با Table مشکلی پیش نمیاد ولی با Div خیلی سخت میشه Cross-Browser کرد.

ghiravani
شنبه 15 مرداد 1390, 12:15 عصر
سلام من دارم سایتم رو طراحی میکنم ، الان اولش هستم و قسمت ظاهر سایت هست.اول تمام قالب سایتم رو با Table بدون استفاده از div طراحی کردم.بعد دقیقا همون قالب رو با div و بدون table طراحی کردم.هنوز قالب HTML هست و هیچ کد PHP داخل اون نیست که بگیم داره پردازش صورت میگیره.
دیشب که هر دو قالب رو روی هاست آپلود کردم ، هر چی تست میکنم میبینم که سرعت لود قالبی که از بیخ با table طراحی شده ، در هر شرایطی (با مرورگر کروم ، فایرفاکس ، IE و ...) بیشتر از اون قالبی هست که با div طراحی شده :ناراحت: :عصبانی: :عصبانی++: چکار کنم؟؟؟؟

در طراحی سایت با div هم تماما از این مثال استفاده کردم.مثلا:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>

<style type="text/css">
</style>

</head>

<body>
<div align="center">
<div style="width: 800px;">
<div style="width: 800px; margin: auto;">
<div style="background-color: #CCCCCC; width: 33%; padding: 1px; float: left;">&nbsp;</div>
<div style="background-color: #FFFF00; width: 33%; padding: 1px; float: left;">&nbsp;</div>
<div style="background-color: #CCCCCC; width: 33%; padding: 1px; float: left;">&nbsp;</div>
</div>
<div style="width: 800px; margin: auto;">
<div style="background-color: #FFFF00; width: 33%; padding: 1px; float: left;">&nbsp;</div>
<div style="background-color: #CCCCCC; width: 33%; padding: 1px; float: left;">&nbsp;</div>
<div style="background-color: #FFFF00; width: 33%; padding: 1px; float: left;">&nbsp;</div>
</div>
</div></div>
</body>

</html>

moferferi
دوشنبه 17 مرداد 1390, 19:09 عصر
منم توی کتاب asp.net 2.0 نوشته stephem walther خوندم که در طراحی ظاهر فرم هرگز ازtableاستفاده نکنید و این یک فاجعه است.

eshpilen
دوشنبه 17 مرداد 1390, 23:57 عصر
Table یک عنصر معنایی است. یعنی شما باید داده هایی رو توی جدول بذارید که بهم مرتبط هستن. مثلا اطلاعات یک لیست از پرسنل یک شرکت.
ولی وقتی از جدول برای Layout (چیدمان عناصر و بخش بندی در صفحه) استفاده میکنیم، این ارتباط معنایی دیگه وجود نداره. این برای ابزارهای خودکار و هوشمند و حتی الگوریتم موتورهای جستجوی آینده هم میتونه مشکل ساز باشه، چون نمیدونن باید اطلاعات داخل جدول رو از نظر معنایی مرتبط بدونن یا نه و به چه ترتیبی بخونن.
البته مسائل نمایشی هم که میگن تاحدی درسته، ولی فکر نمیکنم تنها علت اصلیش باشه و در تمام موارد صدق بکنه.
خب CSS و DIV و قضیهء Float کردن هم بالاخره انعطافش از جدول بیشتره و ضمنا خواناتر بنظر میاد، ولی ظاهرا هنوزم مشکل ساپورت و باگهای CSS مرورگرهای مختلف وجود داره و جدول از این نظر خیلی قدیمی تر و خیلی کم مشکل تر هست.
برای Layout های پیچیده که نیاز به دو یا حتی تعداد بیشتری جدول تودرتو دارن، درج درست تگهای جدول و همچنین مطالعهء چنین کدی بنظرم واقعا دشواره! (خودم بقدر کافی تجربش کردم - واقعا فاجعه هست!) البته بنده عملا زیاد کار نکردم اما میگن استفاده از DIV و CSS در اینطور موارد خواناتره که حتما درست میگن خب!!

ولی یه چیزی رو بگم که بنظر بنده بطور کلی افراط و تفریط درست نیست. اغراق و وسواس و مطلق گرایی در هرچیزی درست نیست.
یه جاهایی شاید باشه که جدول سریع کار رو راه بندازه یا اصلا چیز دیگه به اون خوبی جواب نده.
البته نمیگم لزوما اینطوره، ولی میگم بنده شخصا تعصبی روی اسم و این توضیحات ندارم و بنظرم اینکه آدم بتونه یک نرم افزار رو از نظر کارایی و ظاهر استانداردش راحت و بی نقص درست کنه اولویت اول رو داره (ولی بعضیا ظاهرا زیاد جوگیر شدن و به زیر کار زیادی کار دارن!!). بحث معنایی یا اینکه جدول تا کلش لود بشه نمایش داده نمیشه و غیره اونقدرها هم مهم و همه جایی نیست.
البته از بچگی ما رو با کار با جدول برای ایجاد Layout آموزش دادن (اولین کتاب HTML که خریدم اینطور بود) و خب در این کار مهارت هم پیدا کردیم. شاید اگر از اول با Div و CSS کار میکردیم الان باهاش خیلی راحتتر بودیم. سعی میکنم در آینده بیشتر روی این موضوع کار کنم (بنظر میرسه الان دیگه کاملا وقت کوچ و جدایی از جدول ها رسیده!). ولی خب فعلا عشقم اینه که هر برنامه و سایتی که میخوام درست کنم و برام مهمتر از هرچیز اینه که هرچه سریعتر و راحتتر یه چیزی درست کنم که واقعا و به خوبی کار میکنه. اصلا گور پدر موتورهای جستجو! مگه موتور جستجو دیگه خداست؟ هان؟ :لبخند:
نه یخورده شوخی کردم. اتفاقا یه تیکهء کوچیک و ساده از یکی از اون پروژه های قدیمی خودم رو هم محض امتحان با Div و CSS بازنویسی کردم که دیدم خیلی تمیز و بی نقص هم از آب دراومد. پس الان که این روش پیشرفت کرده و ساپورت مرورگرها هم باید خیلی بهتر شده باشه حتما وضع این روش هم خیلی بهتر شده.
من فقط میگم شرم نمیکنم اگر یوقت یه جایی دیدم جدول ظاهر و کارایی بهتری ارائه میده. بعضیا یجوری میرن توی نخ استاندارد و تکنولوژی و اسم و اصطلاحات که انگار اینا به خودی خود همه چیز و همه جا مهمترین چیز هستن. نمیدونم جوگیری و مدزدگی هست شاید. یارو نمیدونه اصلا فرق جدول و Div چیه و هرکدوم کجا واسه چی بکار میرن بعد میگه میخوام از جدول استفاده نشه! فکر میکنه جدول استفاده بشه میخورنش!! البته مردم هم اینقدر حرف میزنن و سرزنش میکنن که واقعا کم از خوردن نیست!!

erfansmart
دوشنبه 31 مرداد 1390, 20:14 عصر
با دایو بنویسی خیلی بهتره
اصلا تو دایو بلدی؟