Boplo.ir
rss

من در Facebook


جستجو


آخرین مطالب

مطالب همینجوری

بر و بچ

MyView TakhteShasi Tween

دوستشون دارم

بیلبورد

دامین برای فروش: CleanCode.ir
FastFeed.ir
Fonvi.com

تماس


انواع و اقسام سفارشات طراحی و برنامه نویسی سایت پذیرفته میشه. از سایت حمایت از خرگوشهای صورتی گرفته تا سایت قاچاق اعضای بدن!
تماس

 

از بيماران سرطاني حمايت كنيم

A new begining
AHHP presents

 

آدرس کوتاه: http://Boplo.ir/:68

CSS و سردرد ناشی از مرورگرهای مختلف
۵ آبان ۱۳۸۸ ساعت ۰۱:۵۵

طراحی وب
ابزارهای طراحی بصورت Cross-Browser

وقتی میخوای CSS بنویسی حتما می دونی که کدهات توی مرورگرهای مختلف که هر روز دارند بیشتر می شن، متفاوت رندر میشه. مخصوصا اینترنت اکسپلورر که به زبون خودش حرف می زنه! واسه اینکه CSS به اصطلاح Cross-Browser داشته باشیم یعنی توی همه مرورگرها، خروجی ثابتی داشته باشه، دو راه وجود داره:

راه اول reset کردن مشخصه های صفحه است. علت اصلی اینکه مرورگرها، خروجی متفاوتی دارند اینه که هر کدوم یه سری مقادیر پیش فرض دارند که با مقادیر ما ادغام میشه. مثلا Opera بصورت پیش فرض یه فاصله کمی برای رکوردهای جدول تعیین می کنه ولی مثلا فایرفاکس نمی کنه یا یه جور دیگه مقدار میده و وقتی من میام دستی برای این فاصله ها مقدار تعیین می کنم، به مقدار پیش فرض اضافه میشه و تفاوتها ظاهر میشن.
کدهای Reset کدهایی هستند که میان همه این مقادیر پیش فرض که متفاوت هستند رو مقدار میدن و چون مقدار تعیین میشه، دیگه از پیش فرض خبری نیست و همه مشابه هم میشن. نمونه مثل این:

<style type="text/css">
	*, html, body {
		margin:0;
		padding:0;
	}
</style>
این کدها باید قبل از همه کدهای CSS فراخوانی بشن تا کدهای دیگه، تحت تاثیر اونا قرار بگیرن.
این کدها رو میشه از فریم ورک CSS گوگل با نام Blue Print گرفت. یا با سرچ پیدا کرد.
البته این روش به مشکل داره و اونم اینه با Reset کردن CSS، فقط پیش فرضها خنثی میشن و باگهای احتمالی (توی IE حتمی) اصلاح نمیشن. مثلا IE6 توی Float باگ داره و اشتباه عمل می کنه.

راه دوم استفاده از جاوااسکریپت هست. می دونی که با جاوااسکریپت میشه نوع و نسخه مرورگر رو تشخیص داد و بالطبع میشه براساس مرورگر، استایل رو اصلاح کرد. چند تا اسکریپت آماده برای این کار وجود داره که من اینجا بهترینش رو معرفی می کنم به نام

« CSS Browser Selector »

این اسکریپت واقعا عالیه. چرا؟ چون استفاده ازش یه جور خفنی گوگولی و ساده است! کافیه تا اسکریپت سه چهار خطی اش رو توی صفحه فراخوانی کنی. مثلا این شکلی:

<head>
	...
	<script type="text/javascript" src="js/css_browser_selector.js"></script>
	...
</head>
حالا جای باحالش شروع میشه و اون اینه که شما یه کلاس CSS با مشخصه مرورگر توی صفحه فعال داری که همه اجزا صفحه رو شامل میشه! مطمئنم سر در نیاوردی! مثال خود سایت رو ببینی متوجه میشی
<style type="text/css">
	.ie .example { background-color: yellow }
	.ie7 .example { background-color: orange }
	.gecko .example { background-color: gray }
	.win.gecko .example { background-color: red } /* Gecko in Windows */
	.linux.gecko .example { background-color: pink } /* Gecko in Linux */
	.opera .example { background-color: green }
	.ff3_5 .example { background-color: blue } /* Firefox 3.5 */
	.webkit .example { background-color: black }
</style>
یعنی وقتی IE7 داشت صفحه رو رندر میکرد، رنگ زمینه کلاس example. نارنجی خواهد بود یا توی Opera سبزه.
ذوق زده شدی! نکته خوبش اینکه تقریبا همه نسخه های مرورگرهای مختلف رو پشتیبانی می کنه یعنی فایرفاکس2، فایرفاکس3 و حتی فایرفاکس 3.5!

یه سری میگن ترفندهای جاوااسکریپ برای CSS غیراستاندارد هستند و موقعی که جاوااسکریپت غیرفعال باشه، کار نمی کنند.
با بخش اولش کاملا موافقم ولی بخش دومش رو نه. غیرفعال بودن جاوااسکریپت مال زمان دایناسورهای اینترنت بوده که مرورگرها جاوااسکریپت رو صحیح اجرا نمی کردند و کلی باگ و خطر امنیتی با جاواسکریپت همراه بود ولی الان دیگه از این خبرها نیست. کسی که جاوااسکریپت مرورگرش رو غیرفعال کنه، نصف اینترنت رو از دست میده. مگه اینکه هدف خاصی مثل هک و نفوذ داشته باشه که اون یارو اصلا فاکتور محسوب نمیشه! میخواست غیرفعال نکنه!

خلاصه ما اینو توصیه می کنیم! به سایتش برو، مثال و کاربرد و توضیحاتش رو ببین و داونلود کن!

 

تو چی فکر می کنی؟


طراحی سایت : خیلی مفید بود. این یکی از مشکلات همیشگی است که طراحان وب با اون سر و کله میزنن!
(1 سال و 11 ماه و 11 روز و 16 ساعت و 55 دقیقه پیش)

محمد : سلام امیر حسین کارت واقعاً حرف نداره!
من میخوام به طور جدی تو زمینه وب کار کنم و php رو انتخاب کردم. اگه میشه منو راهنمایی کن که چطوری و از کجا شروع کنم. مرسی... اگه ایمیل بدی خیلی ممنون میشم!
(1 سال و 6 ماه و 28 روز و 27 دقیقه پیش)

مجتبی : سلام،

من چیزی از طراحی سایت نمیدونم، فقط میتونم با کمک CMSهای رایگان مثل وردپرس و دستکاری کردن افزونه‌ها و پوسته‌ها، یه مقداری واسه خودم چرخ بزنم!! حالا من نیاز دارم به اینکه چک کنم اگر کاربر از یه مرورگر خاص کار میکنه، اجازه دیدن سایت رو نده و به یه صفحه خاص منتقل بشه... با PHP چطور میشه این‌کار رو کرد؟
(12 ماه و 1 روز و 35 دقیقه پیش)

علیرضا : سلام.من معمولا به زور جایی نظر میدم ولی از اونجایی که خیلی دنبال همچین چیزی بودم و مطلب هم خیلی خوب بود و جالب گفته بودید خواستم ازتون تشکر کنم...
(4 ماه و 15 روز و 4 ساعت و 50 دقیقه پیش)

 

me

امیرحسینم. اسمم رو دوست دارم، خودم رو دوست دارم. تهران زندگی می کنم. فارغ التحصیل مهندسی صنایع هستم. برنامه‌نویسی و طراحی وب می کنم. در واقع Web Developer محسوب میشم. برنامه نویسی و وقت گذرونی با وب تنها کاریه که خسته ام نمی کنه.
آدم خیلی سردی هستم، اینو دور و وری هام میگن. ولی به نظر خودم سرد نیستم در واقع گرمای خودم رو کم بروز می دم! آدما رو اغلب دوست دارم غیر از اون مواقعی که اونا من رو نادیده میگیرن!

این سایت رو بعد از کلی اینور اونور دوباره راه انداختم تا هرچی دوست دارم توش بنویسم، چه کسی بخونه چه نخونه.
خلاصه اینجا خونه منه،

به خونه امیرحسین خوش اومدی...

MODx | Template World