PDA

View Full Version : مشکل جالب با ie و وسط چین کردن divها در صفحات php



YOUCOMCO
جمعه 26 خرداد 1391, 20:07 عصر
سلام

من یه صفحه php دارم که در اون یه سری div هست که با css وسط چین میشن و در تمام مرورگرها بجز ie درست نمایش داده میشن. اما در ie کل قالب به هم میریزه!

توضیح اینکه div ها رو با margin: 0 auto; وسط چین کردم و حتی در یه پیج خالی و ساده هم با ie مشکل داره و وسط نمیاد...

ممنون میشم دوستان کمک کنن...!

colors
جمعه 26 خرداد 1391, 20:43 عصر
درود

کدتون را بزارید که بدونیم چی بگیم

khanlo.javid
جمعه 26 خرداد 1391, 20:55 عصر
دوست عزیز از این استایل رو هم بهش اضافه کنید ببینید نتیجه میگیرید یا نه.

padding:0;



موفق باشید.

YOUCOMCO
جمعه 26 خرداد 1391, 20:59 عصر
مشکل حل شد

به این نتیجه رسیدم (مطمئن نیستم) که ie از ;margin: 0 auto پشتیبانی نمیکنه و برای وسط چین کردن divها از body{text-align:center} استفاده کردم که جواب داد.

soroush.r70
جمعه 26 خرداد 1391, 21:03 عصر
ها چی با text-align درست شد.!!!!!!!!!!؟؟؟؟؟؟؟؟؟؟؟

colors
جمعه 26 خرداد 1391, 22:33 عصر
مشکل حل شد

به این نتیجه رسیدم (مطمئن نیستم) که ie از ;margin: 0 auto پشتیبانی نمیکنه و برای وسط چین کردن divها از body{text-align:center} استفاده کردم که جواب داد.

خیر‍! IE هیچ مشکلی با margin نداره 100٪ کد شما مشکل داره

YOUCOMCO
جمعه 26 خرداد 1391, 23:28 عصر
خیر‍! IE هیچ مشکلی با margin نداره 100٪ کد شما مشکل داره

درست میفرمایید. ie مشکلی با margin نداره، وقتی با فرمت html ذخیره کردم ok بود اما وقتی php شد همه رو چپ چین میکرد. شایدم مشکل از wamp باشه...

sd.CSharpProgrammer
شنبه 27 خرداد 1391, 03:04 صبح
نه مشکل از ومپه نه کد دوستمون. ie با margin: 0 auto کار نمیکنه. راه حل همون body { text-align: center; } هست. یه سرچ تو گوگل بزنین همین رو نشون میده.

colors
شنبه 27 خرداد 1391, 07:45 صبح
نه مشکل از ومپه نه کد دوستمون. ie با margin: 0 auto کار نمیکنه. راه حل همون body { text-align: center; } هست. یه سرچ تو گوگل بزنین همین رو نشون میده.
خیر‍‍!! هیچ مشکلی نداره و به درستی هم کار میکنه ( حداقل 4 ساله دارام باهاش کار میکنم ) . البته اینو بگم که خاصیت margin زمانی cross میشه که مقدار خاصیت position برابر با relative باشه
کد زیر رو تست کنید...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Centered div</title>
<style type="text/css">
div { position: relative; width: 200px; height: 200px; background: red; margin: 0 auto }
</style>
</head>

<body>
<div>Cetered Div</div>
</body>
</html>در ضمن text-align کاملا اسمش نمایانگر حوزه فعالیتشه. یعنی اینکه فقط روی متن کار میکنه و استفاده از اون برای قالبندی و ... غیر استاندارده

YOUCOMCO
دوشنبه 29 خرداد 1391, 13:33 عصر
نه مشکل از ومپه نه کد دوستمون. ie با margin: 0 auto کار نمیکنه. راه حل همون body { text-align: center; } هست. یه سرچ تو گوگل بزنین همین رو نشون میده.


خیر‍‍!! هیچ مشکلی نداره و به درستی هم کار میکنه ( حداقل 4 ساله دارام باهاش کار میکنم ) . البته اینو بگم که خاصیت margin زمانی cross میشه که مقدار خاصیت position برابر با relative باشه
کد زیر رو تست کنید...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Centered div</title>
<style type="text/css">
div { position: relative; width: 200px; height: 200px; background: red; margin: 0 auto }
</style>
</head>

<body>
<div>Cetered Div</div>
</body>
</html>در ضمن text-align کاملا اسمش نمایانگر حوزه فعالیتشه. یعنی اینکه فقط روی متن کار میکنه و استفاده از اون برای قالبندی و ... غیر استاندارده

عرض کردم که وقتی html سیو میکنم مشکلی نداره ولی با فرمت php درست کار نمیکنه.
text-align: center هم مشکلات خاص خودشو داره، مثلا تمامی المنت هایی که قبلا استایل شدن به یکباره وسطچین میشن که باید روشون کار کرد دوباره!!!

armsoftpc
دوشنبه 29 خرداد 1391, 22:14 عصر
با سلام
راه حل برای کارکردن آن در مرورگر IE علاوه بر کد css بالا باید از تگ <center> استفاده کنید.
موفق باشید.

MMSHFE
سه شنبه 30 خرداد 1391, 10:43 صبح
دوست عزیز برای اینکه IE به درستی کار کنه، باید doctype رو اول صفحه بگذارین. این مسئله رو رعایت کردین؟

armsoftpc
سه شنبه 30 خرداد 1391, 19:00 عصر
دوست عزیز برای اینکه IE به درستی کار کنه، باید doctype رو اول صفحه بگذارین. این مسئله رو رعایت کردین؟
با سلام
به سوال خارج از این بحث ، آیا اصلا IE ارزش این رو داره ، که بیایم براش کدهای اضافی تعریف کنیم، البته منظورم doctype نبود ، منظورم کلی بود(مثل کدهایی که باید در js , css ) برای کارکردن در IE باید استفاده کنیم.
هر کاربری با آی ای وارد سایت شد، بهش پیام بده ، مرورگرت رو عوض کن.

MMSHFE
سه شنبه 30 خرداد 1391, 21:02 عصر
در کل IE ارزشش رو نداره ولی مشتریانی که با IE کار میکنن ارزشش رو دارن. بهرحال مشتری هستن و سایت نمیتونه اونها رو مجبور یا محدود بکنه. درهرحال، doctype کد اضافه ای نیست و اصول استانداردنویسی داره میگه باید بگذاریمش. اگه استاندارد بنویسیم، در اکثر موارد IE هم سازگاری لازم رو خواهد داشت.

YOUCOMCO
جمعه 02 تیر 1391, 00:21 صبح
دوست عزیز برای اینکه IE به درستی کار کنه، باید doctype رو اول صفحه بگذارین. این مسئله رو رعایت کردین؟

تو فایل header.php که در ابتدای ایندکس require میشه doctype هست اما تاثیری نداشته ظاهرا!

YOUCOMCO
جمعه 02 تیر 1391, 00:23 صبح
با سلام
به سوال خارج از این بحث ، آیا اصلا IE ارزش این رو داره ، که بیایم براش کدهای اضافی تعریف کنیم، البته منظورم doctype نبود ، منظورم کلی بود(مثل کدهایی که باید در js , css ) برای کارکردن در IE باید استفاده کنیم.
هر کاربری با آی ای وارد سایت شد، بهش پیام بده ، مرورگرت رو عوض کن.

ie مرورگر بسیار مزخرفیه اما وقتی بصورت دیفالت با ویندوز نصب میشه ینی درصد بالایی از کاربرا ازش استفاده میکنن (تو ایران که خیلی بالاتر) پس مجبوریم تحملش کنیم. من حتی برای گوشه های گرد divها از جاوااسکریپت استفاده میکنم که تو ie جواب بده!! :دی

MMSHFE
جمعه 02 تیر 1391, 10:12 صبح
پیشنهاد میکنم از CSS3PIE (http://css3pie.com/) استفاده کنید.