هر مرورگر یک استایل!؟

Cyletech

Member
سلام دوستان،

اگر شما یک طراح وب سایت هستید، برای بهینه ساختن، زیبایی کار و ... خودتون باید برای هر مرورگر یک stylesheet بنویسید. درسته! ما می تونیم به چند نوع این کارو انجام بدیم، اما تابحال توی انجمن برای انجام این کار از PHP بحث نشده است که خودم شروع می کنم :)

به کد زیر دقت کنید:

PHP:
if ($name = strstr ($_SERVER['HTTP_USER_AGENT'], "MSIE"))
{ 
echo '<link rel="stylesheet" href="ie.css">';
} 
else if ($name = strstr ($_SERVER['HTTP_USER_AGENT'], "Netscape")) 
{ 
echo '<link rel="stylesheet" href="netscape.css">';
} 
else 
{ 
echo'<link rel="stylesheet" href="other.css">';
}
توضیح: تابع strstr دو آرگومنت میگیره. اولی: string heystack و دومی: string needle


موفق باشید ... :angel:
 

peyman1987

Member
آموزش، آموزش جالبیه خیلی ممنون از شما. ولی به نظرم بهتر بود استاندارد نوشتن استایل رو جوری که توی مرورگرهای استاندارد یکسان نمایش داده بشه رو آموزش میدادیم و برای استثناهای غیر استانداردی مثل ie راههای فرار معرفی میکردیم. اینجوری بنظرم حرفه ای تره
 

Cyletech

Member
peyman1987 جان،

حقیقتش نمیشه یک استایل نوشت و برای همه مرورگر ها استفاده کرد. ولی خوب همانطور که گفتم: "راه زیاد هست و این هم یکیشه"
 

localman

New Member
میشه یکی تفاوت Style ها رو در مرورگر های مختلف بگه ؟ ممنوم میشم . . .
 

Cyletech

Member
حتما دوست من،

ببینید! مرورگر IE رو میکروسافت می نویسه و مرورگر opera رو برفرض باباش می نویسه. خوب این دوتا طرز نوشتنشون و ساپورتی که دارند با هم فرق داره. مثلا برای transparent کردن یک تصویر در مرورگر های IE و FF فرق داره. به مثال زیر توجه کن:

IE:
filter(opacity=Xpx)

ّّّFF:
opacity: Xpx

دیدید چقدر فرقشون هست؟ امیدوارم متوجه شده باشید.
 

localman

New Member
فک کنم این کار راحت تر باشه :

PHP:
<head>
		<title>Test</title>
		<link href="all_browsers.css" rel="stylesheet" type="text/css">
		<!--[if IE]> <link href="ie_only.css" rel="stylesheet" type="text/css"> <![endif]-->
		<!--[if lt IE 7]> <link href="ie_6_and_below.css" rel="stylesheet" type="text/css"> <![endif]-->
		<!--[if !lt IE 7]><![IGNORE[--><![IGNORE[]]> <link href="recent.css" rel="stylesheet" type="text/css"> <!--<![endif]-->
		<!--[if !IE]>--> <link href="not_ie.css" rel="stylesheet" type="text/css"> <!--<![endif]-->
	</head>

راستی اگه دم دست هست میشه تمامی تفاوت ها رو بزارید ؟
 

Cyletech

Member
عرض کردم که: "هزاران راه برای اینکار وجود داره و این هم یکیشه".

نه متاسفانه دم دست نیست و خیلی هم سخته بخوایم همش و بزاریم و یک شبه شما یاد بگیرید. بهتره خودتون با css آشنا بشید در انجمن مربوطه.
 

peyman1987

Member
peyman1987 جان،

حقیقتش نمیشه یک استایل نوشت و برای همه مرورگر ها استفاده کرد. ولی خوب همانطور که گفتم: "راه زیاد هست و این هم یکیشه"

دوست عزیز چرا نمیشه؟

میشه کدی نوشت که توی 90% مرورگرها درست نشون بده و فقط نیاز به چند تا فیکس کوچیک توی مرورگری مثل اینترنت اکسپلورر اونم نه همه ورژنهاش داشته باشه.

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

البته نمیگم دونستن این موارد یه امر ضروریه ولی خوب نیست آدم خودش رو با این روش راحت کنه. بهتره استاندارد کد بنویسیم تا اینکه مخصوص یه مرورگر خاص کد بنویسیم.

اینجوری یکی از اصول پیدایش CSS که کم کردن کدهای غیر ضروری و راحتتر کردن تغییرات بوده رو زیر سوال میبریم.

بازم از مطالبی که مینویسی ممنونم. :rose:
 

peyman1987

Member
ُسلام پیمان جان میشه مواردی که لازمه تا فیکس بشن رو بگی ؟

یک سری موارد هستن که هر مرورگری یه جور تفسیرش میکنه. مثلا بحث Padding و Border یه سری از مرورگرها Padding و Border رو چزو Width یه عنصر میدونن ولی یک سریشون نه از هم جدا میدونن. این یکی از مسائلی هست که معمولا بهش برخورد میشه.

یا مثلا بحث overflow: auto که توی IE6 شناخته نمیشه یعنی جور دیگه ای تفسیر میشه و مثلا میشه با height: %100 حلش کرد. این چیزا رو میشه توی کار تجربه کرد و جوری کد نوشت که فقط مشکلات محدود به این چند مورد بشن و نیازی نباشه برای هر مرورگر یه استایل جدا نوشته بشه. اینجوری انگار شما مثلا سه تا سایت جدا داری که مجبوری هر تغییر رو سه بار اعمال کنی.

همشون رو حضور ذهن ندارم ولی مشکلات معمول ، Border . Padding ، Overflow و Position بودن.

بهترین کار اینه که با فایرفاکس استاندارد کد بزنین و بعد فیکسهاش رو توی IE دونه دونه پیدا کنین و درستش کنین.
 

alionline1366

Active Member
استفاده از استايلهاي كامل كننده فوق العاده راه حرفه اي و بهينه اي هست در همه جا براي سئو هم پيشنهاد شده

البته نه براي هر مدل ديزايني بعضي وقتها نوع ديزاين طوري هست كه كد نويسي به مشكل بر ميخوره و مجبوري از استايلهاي مختلف بايد استفاده كرد اونم فقط براي ورژنهاي ie كه البته حجماشون به 1 كيلوبايت هم به زور ميرسه
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا