View Full Version : چرا مرورگر FireFox جدول داخل Body را وسط قرار نمی دهد؟
mina_student
یک شنبه 15 دی 1387, 12:49 عصر
چرا مرورگر FireFox جدول داخل Body را وسط قرار نمی دهد؟
a_true_2004
یک شنبه 15 دی 1387, 13:40 عصر
سلام
در Firefox خصوصیت align جدول (یا هر شیء دیگری که align داشته باشه) را Left در نظر میگیرد برخلاف IE که align را center در نظر می گیرد. البته این موارد در حالتیه که شما align را تنظیم نکرده باشید.
راه حل : در صورتی که میخواید جدول در وسط صفحه قرار بگیره باید align اون رو روی center تنظیم کنید.
salehbagheri
یک شنبه 15 دی 1387, 14:25 عصر
راه حل : در صورتی که میخواید جدول در وسط صفحه قرار بگیره باید align اون رو روی center تنظیم کنید.
FireFox در اين زمينه دچار مشكلاتي هست كه رفع آن ايرادات، مرا به ستوه آورده!
behzad_gh
یک شنبه 15 دی 1387, 15:41 عصر
در استایل جدول کد زیر را وارد کنید:
style="margin:0 auto;"
bigcowboy
یک شنبه 15 دی 1387, 18:36 عصر
كد رو بذار اينجا تا بررسي بشه.
emad_67
یک شنبه 15 دی 1387, 20:00 عصر
راهی که جناب behzad_gh (http://barnamenevis.org/forum/member.php?u=18177) گفتن درسته، از همون استفاده کنید.
توی ورژن های قدیمی ie نیاز هست که علاوه بر کد بالا، text-align: center; رو هم به تگ body اضافه کنید.
تگ center هم استاندارد نیست و همون بهتر که استفاده نشه.
mina_student
شنبه 21 دی 1387, 11:35 صبح
از پاسختون ممنونم ولی در صورتی که نخواهم
margin:0باشد باید چی کار کرد؟
emad_67
شنبه 21 دی 1387, 16:49 عصر
از پاسختون ممنونم ولی در صورتی که نخواهم
margin:0باشد باید چی کار کرد؟
مشکلت فقط اون 0 هست یا کلا نمیخوای margin استفاده کنی؟
اگر فقط اون 0 مشکل هست اینجوری بنویس:
margin-right: auto;
margin-left: auto;
jaza_sa
یک شنبه 22 دی 1387, 01:54 صبح
خوب به نظر شما چرا اینطوره ؟
برای پاسخ به این سوال بیام و خودمون رو جای شرکت های سازنده مرورگر قرار بدیم
اول فرض کنید شما مدیر بخش توسعه مرورگر Internet Explorer شدید و میخواید سیاست های کلی این نرم افزار رو تعیین کنید. اولین کاری که انجام میدید اینکه میاید و برای این نرم افزار یکسری قانون و مقررات تعیین میکنید و اینکه طبق چه اصول کلی باید کارها انجام بشه. از اونجایی که احساس قدرت میکنید و فکر میکنید هیچکس دیگه حریف شما نیست (؟) میاید و علاوه بر اون قوانین، یکسری مقررات دیگه هم که فکر میکنید درسته رو در سیستم اعمال میکنید و نرم افرازم رو راهی بازار میکنید
حالا فرض کنید مدیر بخش توسعه مرورگر FireFox شدید. دوباره همون اتفاقات تکرار میشه و شما قوانینی که فکر میکنید درسته رو در نرم افزار لحاظ میکنید
حالا فرض کنید مدید بخش توسعه مرورگر Opera شدید. همه اون اتفاقات تکرار میشه
نتیجه اخلاقی : هر مرورگری برای خودش یک جور کار میکنه و هیچکس حرف اون یکی رو قبول نمیکنه.
ولی تقصیر من طراح چیه که اونا با خودشون دعوا دارن :ناراحت:
دینگ، راه حل : حالا که ما به تفاهم نمیرسم ، میایم و یک ائتلاف تشکیل میدیم و یکسری قوانین کلی و ثابت رو در اون وضع میکنیم و هر عضو رو موظف به اجرای دقیق این قوانین میکنیم
راه خوبه !!! نظر شما چیه ؟
حالا اگر کسی نخواست از این قوانین طبعیت کنه چی ؟
فکر خوبه !!! نظر شما چیه ؟
برای اینکه بتونیم همچین مکانیزم رو عملی کنیم ائتلافی با نام W3C تشکل شده و کار استاندارد کردن رو بر عهده گرفته
خیلی خوبه !!!
حالا من به عنوان مدید بخش توسعه دهنده مرورگر موظف هستم از این قوانین و استاندارها طبعیت کنم !!!
بعلاوه ممکنه W3C چندین استاندارد رو در اختیار من بگذاره ، من موظف به پیاده سازی تمام اونها در مرورگر خودم هستم.
حالا من بعنوان طراح صفحات وب باید چیکار کنم ؟
برای شما هم فکری اندیشیده شده. برای اینکه شما بتونید از استاندارد دلخواه خودتون استفاده کنید باید طبق دستورالعمل اعلام شده از طرف W3C عمل کنید
چطوری ؟
به این نحو که نوع استاندارد رو در کدی که مینویسید ذکر کنید
یعنی چی؟
یعنی اینکه doctype فایل رو مشخص کنید
با مشخص شدن اون ، مرورگر متوجه استاندارد مورد نظر شما میشه و طبق اون استاندارد صفحه رو رندر میکنه. چون تمام مرورگر ها موظف به پیاده سازی دقیق و صحیح استاندارها هستند، شما مطمئن میشید که صفحه طراحی شده در هیچ مرورگری بهم نمیریزه و در همه اونها به یک نحود نمایش داده میشه
حالا این استاندارها چی هست ؟ چطوری مینویسنشون ؟ کجای صفحه باید نوشته شه ؟ ...؟
به این لینک مراجعه کنید (http://www.w3schools.com/tags/tag_DOCTYPE.asp) :چشمک:
مثال:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>تست جدول</title>
</head>
<body>
<table border="1px" style="margin: 0 auto;">
<tr>
<td>1</td>
<td>نام</td>
</tr>
</table>
</body>
</html>حالا دیگه این کد توی IE , FF , Opera , Safari , Chrome و ... به یک شکل نمایش داده میشه
این همه داستان تعریف کردم که دیگه هیچوقت یادتون نره اون یک خط (تعریف doctype) چقدر ارزشمنده و چقدر میتونه کمکتون کنه !!!
موفق باشید :لبخندساده:
mina_student
یک شنبه 22 دی 1387, 08:56 صبح
مرسی مشکلم حل شد.
jaza_sa
یک شنبه 22 دی 1387, 10:18 صبح
این همه توضیح دادی ولی از باگ های مرورگرهای ie چیزی نگفتی!!!....
میشه چندتا از باگاش رو شما بگید ؟
salehbagheri
شنبه 28 دی 1387, 21:38 عصر
حالا دیگه این کد توی IE , FF , Opera , Safari , Chrome و ... به یک شکل نمایش داده میشه
این همه داستان تعریف کردم که دیگه هیچوقت یادتون نره اون یک خط (تعریف doctype) چقدر ارزشمنده و چقدر میتونه کمکتون کنه !!!
سلام دوست عزيز! خيلي با اطمينان حرف ميزنيد!
سايت من از اولش هم Doctype داشت ولي مشكل حل نشد!
محمدامین شریفی
یک شنبه 29 دی 1387, 00:23 صبح
سلام دوست عزيز! خيلي با اطمينان حرف ميزنيد!
سايت من از اولش هم Doctype داشت ولي مشكل حل نشد!
آقا صالح اتفاقا حرف دوست من:قلب: منطقی است; ولی عملی نیست!
در حقیقت باید با تعریف کردن namaspace یک dtd تمام element های همنام مشتق شده از آن معرف یک عمل باشند ،و هستند!!.ولی مشکل اینجاست که این مرورگرها هستند که تصمیم میگیرند که چگونه آن دستور را اجرا کنند.
به عنوان مثال تگ h1 برای مرورگر ها یک مفهوم را میدهد ولی هنگام render شدن آن برای ما چند مفهوم را میدهد،w3c هم به ما پیشنهاد کرده است که از css استفاده کنیم،که باز هم بر میگردیم به اول داستان.
دوستم این داستان را برای این گفت که فردا روزی که مرورگرها استاندارد شدند web developer ها تازه نشینن برای هر صفحه یک doctype بنویسند و همانگونه که میبینید نسخه های جدید مرورگرها بخاطر رقابت هم که شده هر دفعه خودشان را با استاندارد ها بیشتر وقف میدهند.
کاشکی w3c برای این ecmascript هم مانند css یک دستور قاطع میگرفت.
منبع: رمان هزار و یک شب
vcldeveloper
یک شنبه 29 دی 1387, 11:58 صبح
این همه توضیح دادی ولی از باگ های مرورگرهای ie چیزی نگفتی!!!....
این موضوع ربطی هم به عنوان تاپیک داره؟!!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.