کامنتهای شرطی در CSS

تصویر مهدی

توجه این مقاله ترجمه مطلبی از سایت quirksmode.org است
کامنتهای شرطی تنها در اینترنت اکسپلورر مخصوص ویندوز کار می‌کنند، بنابراین مناسب دستوراتی هستند تنها برای اینترنت اکسپلورر در ویندوز در نظر گرفته شده‌اند. این کامنتها در اینترنت اکسپلورر نسخه 5 به بعد پشتیبانی می‌شوند و با استفاده از آنها امکان تشخیص نسخه‌های مختلف مانند 5.0، 5.5، و 6.0 وجود دارد.
کامنتهای شرطی به صورت زیر هستند:

<!--[if IE 6]>
	دستورات مخصوص اینترنت اکسپلورر نسخه 6
<![endif]-->
  1. ساختار پایه این کامنتها مانند کامنتهای HTML است (<!-- -->). بنابراین از دید سایر مرورگرها، تنها کامنتهای معمولی هستند که به طور کلی نادیده گرفته می‌شوند.
  2. از طرف دیگر اینترنت اکسپلورر ساختار خاص <!--[if IE]> را تشخیص داده، و در صورت برقرار بودن شرط، با محتوای کامنت مانند محتوای عادی صفحه برخورد می‌کند.
  3. از آنجایی که کامنتهای شرطی از ساختار کامنتهای HTML استفاده می‌کنند، از آنها می‌توان تنها در فایلهای HTML استفاده کرد و امکان استفاده از آنها در فایل CSS نیست. من شخصا ترجیح می‌دادم که این کامنتها را در فایلهای CSS استفاده می‌کردم ولی این کار عملی نیست. برای این کار شما باید کل تگ <link> که به یک استیل خارجی (فایل CSS) اشاره می‌کند را در یک کامنت شرطی قرار دهید.

مثال

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

کد
کدی که من استفاده کرده ام به صورت زیر است:

<!--[if IE]>
	According to the conditional comment this is Internet Explorer<br />
<![endif]-->
<!--[if IE 5]>
	According to the conditional comment this is Internet Explorer 5<br />
<![endif]-->
<!--[if IE 5.0]>
	According to the conditional comment this is Internet Explorer 5.0<br />
<![endif]-->
<!--[if IE 5.5]>
	According to the conditional comment this is Internet Explorer 5.5<br />
<![endif]-->
<!--[if IE 6]>
	According to the conditional comment this is Internet Explorer 6<br />
<![endif]-->
<!--[if IE 7]>
	According to the conditional comment this is Internet Explorer 7<br />
<![endif]-->
<!--[if gte IE 5]>
	According to the conditional comment this is Internet Explorer 5 and up<br />
<![endif]-->
<!--[if lt IE 6]>
	According to the conditional comment this is Internet Explorer lower than 6<br />
<![endif]-->
<!--[if lte IE 5.5]>
	According to the conditional comment this is Internet Explorer lower or equal to 5.5<br />
<![endif]-->
<!--[if gt IE 6]>
	According to the conditional comment this is Internet Explorer greater than 6<br />
<![endif]-->

دقت کنید که در این ساختار شرطها به صورت زیر است:

  • gt: بزرگتر از
  • lte: کوچکتر یا مساوی

هک CSS؟

آیا کامنتهای شرطی، نوعی هک برای CSS محسوب می‌شوند؟ اگر خیلی سفت و سخت بخواهیم صحبت کنیم، بله، چون می‌توانند دستورات قالبهای خاصی را به بعضی از مرورگرها بدهند. اگرچه مانند تمامی هک‌های واقعی CSS، از یک باگ مرورگر برای حل باگ دیگر استفاده نمی‌کنند. ضمنا این کامنتها می‌توانند برای اعمالی فراتر از هک CSS استفاده شوند (اگر چه کمتر اتفاق می‌افتد).
از آنجا که کامنتهای شرطی بر اساس هک مرورگر نیستند، بلکه برعکس بر اساس ویژگی‌های مرورگر استفاده می‌شوند به اعتقاد من استفاده از آنها بی‌خطر است. ممکن است سایر مرورگرها نیز کامنتهای شرطی را پیاده‌سازی کنند(هرچند که هنوز هیچ کدام این کار را نکرده‌اند)، ولی بعید است که سایر مرورگرها به شرط <!--[if IE]> واکنش نشان دهند.
با این وجود، من از کامنتهای شرطی کمتر استفاده می‌کنم. ابتدا بررسی می‌کنم که ببینم امکان حل مشکل از طریقه یک روش واقعی CSS بر روی اینترنت اکسپلورر وجود دارد یا نه. اگر راه مناسبی پیدا نکردم، دیگر در استفاده از کامنتهای شرطی تامل بیشتر نمی‌کنم.

تگ comment

یکی از خوانندگان به من گفت که اینترنت اکسپلورر (نسخه ویندوز و مکینتاش) از تگ (غیر استاندارد) <comment> پشتیبانی می‌کند.

<p>This is <comment>not</comment> Internet Explorer.</p>

This is not Internet Explorer.

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

نظرات

http://www.bottegavenetareplica.cc

Bottega Veneta Women Shoulder Hobo Bagsin beauty regarding anything in particular yet overall was very attractive even if in all realityBottega Veneta Women Totes outlet sale storewhich few ever really noticed; hers was a common face made beautiful by a smile and expressions which had sadness about them. It being this factor which in a way elevated her face to a beauty rarely seen in how it could almost make Bottega Venetaher face and body radiate an inner tenderness which made her ever desirable in its sadness which many misinterpreted for joy.Facing Bottega Veneta Bags financial hardship Feeling isolated, alone and unsure of your next step You are not alone. Millions of American's are feeling the same way. Good, hardworking honest people who have fallen behind. In this economy the combined weight of mortgage payments, car paymentsBottega Veneta outletinsurance bills plus the cost of daily living can be overwhelming. Add to that unemployment or reduced income, Kate Spade Outlet Online divorce, illness or any of the other factors that may come into play and you quickly find you are facing true hardshipFake Bottega Veneta Store many of the families and individuals I work with have difficulty adjusting to the realities they face.replica bv handbagssleeping less and less at nightEach homeowner faced with hardship has options and some Kate Spade Outlet key decisions to face. Do you:wait to see if things will work Kate Spade Outlet out'search the internet for clues on what tBottega Veneta knockoffsand impartial guidance specific to Bottega Veneta my situationwhich do you think is the worst choice Sadly wait and see is often better than hire someone to solve my problems. Scammers abound,replica Bottega Veneta Men Bags sniffing out your desperation and primed to pounce. Be cautious about entrusting someone with your personal financial well being. As many who have been ripped off will say, they would have been better off doing nothing than trusting a scam artist.So should Kate Rreplica Bottega Venetaslowlydiscount Bottega Veneta bags for saleA brief fictional story inspired by Joannuszka Slisznuszka and thoughts of a summer romance never to be fulfilled.There are many conditions that can bring about misery in human beings from those of abject poverty to incurable illnesses which go on and on for years, depriving the person in question of any joy or real hope though perhaps this always reminds. It being this factor http://www.bottegavenetareplica.cc.

“If michael kors outlet

“If michael kors outlet online you knew the asics running shoes temper replica watches of ferragamo shoes people,” nike air max replied my friend the lululemon doctor, north face “you oakley pas cher would true religion outlet talk chanel handbags in gucci handbags another sort of polo lacoste way. Their censure, censurable air max as wedding dresses it is, will produce nfl jerseys nearly longchamp outlet all its designed swarovski effect for a time; and although, by nike trainers uk the force polo outlet of demonstration, it is certain that, in lululemon canada course of time, its invalidity valentino shoes will be louboutin pas cher made apparent, it nike blazer pas cher is nike outlet equally true that, at coach purses first, ralph lauren it kate spade will tell as effectually on the vans minds of most reebok outlet people as if it had been the sac vanessa bruno most righteous nike air max sentence nike free in mont blanc pens the world. Let it only be cried about the streets: ‘Here you have the censure of M. Arnauld! burberry handbagschristian louboutin uk here toms shoes you have bottega veneta the condemnation oakley sunglasses of the Jansenists!’ coach outlet and the christian louboutin Jesuits will find their account in herve leger it. How few converse will ever sac longchamp pas cher read it! burberry pas cher How coach outlet few, chi flat iron of them who do read, will understand longchamp outlet it! How north face outlet few will observe that it answers no montre pas cher objections! How nike free uk few will take the matter to heart, or north face outlet attempt to sift burberry outlet it swarovski crystal to the bottom! insanity workout Mark, then, how much advantage this gives to hollister the enemies of the Jansenists. vans pas cher They are sure to michael kors outlet online make oakley sunglasses a triumph of it, though marc jacobs a thomas sabo vain one, hogan outlet as nike tn usual, converse pas cher for some nike air max months at least — and that is a true religion outlet great pandora uk matter converse outlet for them, juicy couture outlet they will look out afterwards for ray ban some new means christian louboutin outlet of subsistence. They live from hollister uk hand to mouth, sir. It is in this way they michael kors outlet online have contrived karen millen uk to maintain giuseppe zanotti outlet themselves ray ban sunglasses down to the nike air max uk present day. Sometimes new balance it nike huaraches is by a michael kors pas cher catechism in soccer jerseys which a child louboutin is made to condemn mac cosmetics their opponents; then it is baseball bats by nike air max a procession, in which ralph lauren uk sufficient grace leads the efficacious in triumph; again mulberry uk it nike air force is by a comedy, longchamp pas cher in which Jansenius is represented celine handbags as carried nike roshe run uk off polo ralph lauren by devils; at true religion jeans another jordan shoes time it is michael kors outlet store by an almanac; mcm handbags and now it is by hollister this longchamp outlet censure.”“In good sooth,” pandora jewelry said true religion outlet I “I christian louboutin shoes was on pandora charms the replica watches point nike air max uk of supra shoes finding fault hollister with the conduct of the hermes belt Molinists; ray ban pas cher but after what longchamp uk you babyliss have told me, sac hermes I must say vans outlet I guess pas cher admire tiffany jewelry their prudence and michael kors outlet their policy. prada handbags I see oakley perfectly well that they could lancel not nike roshe have followed gucci a safer nike free run or more Judicious prada outlet course.”“You are right,” returned he; links of london “their safest policy north face uk has always coach outlet store online been to ray ban sunglasses keep silent; and this led a certain learned coach outlet divine ray ban uk to timberland boots remark, michael kors outlet ‘that the cleverest hollister pas cher among them are those wedding dresses who intrigue jordan pas cher much, michael kors outlet speak little, p90x workout and timberland pas cher write nothing.’“It is on this principle ghd hair that, iphone 6 cases from the commencement of the meetings, they prudently ordained nike air max that, if M. Arnauld came tory burch outlet into the nike roshe run Sorbonne, it polo ralph lauren outlet online must be simply to juicy couture outlet explain soccer shoes what he believed, and not beats by dre to enter hollister clothing the lists of jimmy choo outlet controversy with any one. The examiners, instyler having abercrombie and fitch ventured to depart abercrombie and fitch uk a little from this prudent new balance shoes arrangement, suffered michael kors for their temerity. tiffany and co They oakley sunglasses wholesale found themselves kate spade outlet rather too vigourously refuted by his second apology.

تگ comment

عرض سلام وخسته نباشيد
از تگ comment بي خبر بودم...
وبلاگ پرباري دارين، ممنون
عبدالله ميرزابيكي

مطلب خيلي جالبي بود من اين

مطلب خيلي جالبي بود من اين موضوع رو نمي دونستم
اگر فونت نوشته هاتون رو هم به tahoma تغيير بديد عالي ميشه چون اين فونت چشم رو اذيت مي كنه
مو.فق باشيد

تصویر مهدی

ممنون

سلام،
فونت متن رو هم عوض کرم. البته کلا سایت نیاز به تغییرات زیادی داره و هنوز شروع کاره و وقت نکردم زیاد به این چیزها برسم.
ممنون از نظر و پیشنهادتون.

تصویر saeid_mh83

کامنتهای شرطی در CSS (تشخیص مرورگرهای غیر از IE )

سلام
خیلی ممنون از مقالات جالبتون
در مورد کامنتهای شرطی یک نکته به نظرم اومد شاید بد نباشه که اضافه کنید
فرمت دستور بالا بصورت زیر هستش
روش مثبت :

    <!--[if condition]> HTML <![endif]-->

روش منفی :

    <!--[if !condition]><![IGNORE]--><![IGNORE[]]>HTML<!--<![endif]-->

بعنی برای تشخیص مروگرهای غیر از IE میتونید از این دستور استفاده کنید با استفاده از علامت ! قبل از IE

    <!--[if !IE]>--><link href="not_ie.css" rel="stylesheet" type="text/css"><!--<![endif]-->

اگر هم خواستید که مطمئن بشید میتونید از لینک زیر استفاده کنید.
http://www.javascriptkit.com/dhtmltutors/csshacks.shtml

موفق باشید
سعید محمدهاشم

تصویر مهدی

مرورگرهای غیر از IE

سلام،
خیلی ممنون از نکته خوبی که اشاره کردین. واقعا استفاده کردم.

با اجازتون یکمی قالب نمایش کدهای شما رو ویرایش کردم تا کدها بهتر دیده بشن.