दिलचस्प पोस्ट
मेरी वेबसाइट पर एडब्लॉक को कैसे निकालना है? <My code> में त्रुटि: प्रकार का 'क्लोजर' ऑब्जेक्ट सेनेटटेबल नहीं है क्या रीकैपटा को टूट गया / हैक किया गया है / ओसीआरड / हार / टूटा हुआ है? कई श्रेणियों के साथ बॉक्सप्लेट्स के जेफ्री चाट स्केलिंग JSON.stringify का उपयोग करते हुए त्रुटि को स्ट्रिंग करना संभव नहीं है? IPhone UIView Z अनुक्रमणिका कैसे सेट करें? बैकअप स्क्रिप्ट के माध्यम से फ़ाइल को लॉग करने के लिए stdout की कॉपी पुनर्निर्देशित करें एक्सेस प्रतिबंध: प्रकार 'अनुप्रयोग' एपीआई नहीं है (आवश्यक पुस्तकालय आरटी.जर पर प्रतिबंध) एमवीसी फॉर्म वस्तुओं की सूची पोस्ट करने में सक्षम नहीं है कोई कनेक्शन नहीं किया जा सकता क्योंकि लक्ष्य मशीन ने इसे सक्रिय रूप से 127.0.0.1:3446 से इनकार कर दिया मैं एक स्पष्ट स्क्रिप्टबंडल को कैसे निर्दिष्ट कर सकता हूँ जिसमें आदेश शामिल है? : सक्रिय छद्म वर्ग मोबाइल सफारी में काम नहीं करता है एंड्रॉइड में एसेट फ़ोल्डर या कच्चे फ़ोल्डर में फाइल कैसे लिखनी है? एएसपी.NET पहचान की IUserSecurityStampStore <TUser> इंटरफ़ेस क्या है? समवर्ती संशोधन अपवाद: एक ArrayList को जोड़ना

IE 11 के लिए एक सीएसएस हैक कैसे लिखूँ?

मैं केवल आईई 11 के लिए सीएसएस कैसे हैक या लिख ​​सकता हूं? मेरे पास एक ऐसी वेबसाइट है जो IE 11 में खराब दिखती है। मैं सिर्फ यहां और वहां खोजता हूं लेकिन अभी तक कोई समाधान नहीं मिला।

क्या कोई सीएसएस चयनकर्ता है?

वेब के समाधान से एकत्रित समाधान "IE 11 के लिए एक सीएसएस हैक कैसे लिखूँ?"

IE11 फ़िल्टर करने के लिए माइक्रोसॉफ्ट के विशिष्ट सीएसएस नियमों का एक संयोजन का प्रयोग करें:

<!doctype html> <html> <head> <title>IE10/11 Media Query Test</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style> @media all and (-ms-high-contrast:none) { .foo { color: green } /* IE10 */ *::-ms-backdrop, .foo { color: red } /* IE11 */ } </style> </head> <body> <div class="foo">Hi There!!!</div> </body> </html> 

निम्न के कारण इस काम के रूप में फ़िल्टर:

जब कोई उपयोगकर्ता एजेंट चयनकर्ता को पार्स नहीं कर सकता (यानी, यह मान्य सीएसएस 2.1 नहीं है), तो उसे चयनकर्ता और निम्न घोषणा ब्लॉक (यदि कोई हो) को भी अनदेखा कर देना चाहिए।

 <!doctype html> <html> <head> <title>IE10/11 Media Query Test</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <style> @media all and (-ms-high-contrast:none) { .foo { color: green } /* IE10 */ *::-ms-backdrop, .foo { color: red } /* IE11 */ } </style> </head> <body> <div class="foo">Hi There!!!</div> </body> </html> 

विकसित धागा के प्रकाश में, मैंने नीचे अपडेट किया है:

IE 6

 * html .ie6 {property:value;} 

या

 .ie6 { _property:value;} 

IE 7

 *+html .ie7 {property:value;} 

या

 *:first-child+html .ie7 {property:value;} 

आईई 6 और 7

 @media screen\9 { .ie67 {property:value;} } 

या

 .ie67 { *property:value;} 

या

 .ie67 { #property:value;} 

आईई 6, 7 और 8

 @media \0screen\,screen\9 { .ie678 {property:value;} } 

IE 8

 html>/**/body .ie8 {property:value;} 

या

 @media \0screen { .ie8 {property:value;} } 

IE 8 मानक मोड केवल

 .ie8 { property /*\**/: value\9 } 

IE 8,9 और 10

 @media screen\0 { .ie8910 {property:value;} } 

IE 9 केवल

 @media screen and (min-width:0\0) and (min-resolution: .001dpcm) { // IE9 CSS .ie9{property:value;} } 

IE 9 और ऊपर

 @media screen and (min-width:0\0) and (min-resolution: +72dpi) { // IE9+ CSS .ie9up{property:value;} } 

IE 9 और 10

 @media screen and (min-width:0\0) { .ie910{property:value\9;} /* backslash-9 removes ie11+ & old Safari 4 */ } 

IE 10 केवल

 _:-ms-lang(x), .ie10 { property:value\9; } 

IE 10 और ऊपर

 _:-ms-lang(x), .ie10up { property:value; } 

या

 @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { .ie10up{property:value;} } 

आईई 11 (और ऊपर ..)

 _:-ms-fullscreen, :root .ie11up { property:value; } 

जावास्क्रिप्ट विकल्प

Modernizr

Modernizr पृष्ठ लोड पर जल्दी से सुविधाओं का पता लगाने के लिए चलाता है; यह तब परिणाम के साथ एक जावास्क्रिप्ट ऑब्जेक्ट बनाता है, और html तत्व को कक्षाएं जोड़ता है

उपयोगकर्ता एजेंट चयन

जावास्क्रिप्ट:

 var b = document.documentElement; b.setAttribute('data-useragent', navigator.userAgent); b.setAttribute('data-platform', navigator.platform ); b.className += ((!!('ontouchstart' in window) || !!('onmsgesturechange' in window))?' touch':''); 

html तत्व से नीचे (उदा।) जोड़ता है:

 data-useragent='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)' data-platform='Win32' 

बहुत लक्षित सीएसएस चयनकर्ताओं को अनुमति देना, जैसे:

 html[data-useragent*='Chrome/13.0'] .nav{ background:url(img/radial_grad.png) center bottom no-repeat; } 

पाद लेख

अगर संभव हो तो, हैक्स के बिना किसी भी मुद्दे (स्कॉल्स) को पहचानना और ठीक करना। प्रगतिशील वृद्धि और सुंदर गिरावट का समर्थन करें हालांकि, यह एक 'आदर्श विश्व' परिदृश्य है, जो हमेशा उपलब्ध नहीं होता है, जैसे- ऊपर के कुछ अच्छे विकल्प प्रदान करने में सहायता करना चाहिए।


एट्रिब्यूशन / आवश्यक पढ़ना

  • जेफ क्लेटन | Browserhacks.com
  • किथ क्लार्क
  • पॉल आयरिश
  • वेब डेवाउट
  • स्पैनर

यहां एक दो कदम समाधान है जो आईई 10 और 11 के लिए हैक है I

  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10+ specific styles go here */ } 

क्योंकि आईई 10 और आईई 11 का समर्थन करता है -एमएमएस-उच्च-कॉटेज आप इस दो ब्राउज़रों को लक्षित करने के लिए इसका लाभ ले सकते हैं

और अगर आप इस से आईई 10 को बाहर करना चाहते हैं तो आपको आईई 10 विशिष्ट कोड बनाना होगा जैसा कि यूजर एजेंट चाल का उपयोग करना है, आपको इस जावास्क्रिप्ट को जोड़ना होगा

 var doc = document.documentElement; doc.setAttribute('data-useragent', navigator.userAgent); 

और यह HTML टैग

 <html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"> 

और अब आप इस तरह अपना सीएसएस कोड लिख सकते हैं

 html[data-useragent*='MSIE 10.0'] h1 { color: blue; } 

अधिक जानकारी के लिए कृपया इस वेबसाइट्स देखें, ट्यूटोरियल ट्यूटोरियल , क्रिस ट्यूटोरियल


और अगर आप IE11 और उसके बाद के बाद को लक्षित करना चाहते हैं, तो यहां मैंने पाया है:

 _:-ms-fullscreen, :root .selector {} 

अधिक जानकारी प्राप्त करने के लिए यहां एक महान संसाधन है: browserhacks.com

मैं इन्हें लिख रहा हूं और उन्हें 2013 के पतन के बाद BrowserHacks.com में योगदान दे रहा हूं – यह मैंने लिखा है कि यह बहुत आसान है और केवल आईई 11 द्वारा समर्थित है।

 <style type="text/css"> _:-ms-fullscreen, :root .msie11 { color: blue; } </style> 

और निश्चित रूप से div …

 <div class="msie11"> This is an Internet Explorer 11 CSS Hack <div> 

तो पाठ इंटरनेट एक्सप्लोरर के साथ नीले रंग में दिखाई देता है 11. इसके साथ मज़ा लो।

मेरे लाइव टेस्ट साइट पर अधिक आईई और अन्य ब्राउजर सीएसएस हैक्स यहाँ हैं:

नवीनीकृत: http://browserstrangeness.bitbucket.io/css_hacks.html

आईने: http://browserstrangeness.github.io/css_hacks.html

(यदि आप एमएस एज सीएसएस हैक्स की तलाश में हैं, तो यह कहां जाना है।)

आप शैली टैग के अंदर निम्न कोड का उपयोग कर सकते हैं:

 @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10+ specific styles go here */ } 

नीचे एक उदाहरण है जो मेरे लिए काम किया है:

 <style type="text/css"> @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10+ specific styles go here */ #flashvideo { width:320px; height:240; margin:-240px 0 0 350px; float:left; } #googleMap { width:320px; height:240; margin:-515px 0 0 350px; float:left; border-color:#000000; } } #nav li { list-style:none; width:240px; height:25px; } #nav a { display:block; text-indent:-5000px; height:25px; width:240px; } </style> 

कृपया ध्यान दें कि (#nav li) और (#nav ए) @ मीडिया स्क्रीन से बाहर हैं …, वे सामान्य शैली हैं

सशर्त टिप्पणियों के मानक बनाए रखने के लिए आप जेएस का इस्तेमाल कर एचटीएमएल में एक वर्ग जोड़ सकते हैं:

  var ua = navigator.userAgent, doc = document.documentElement; if ((ua.match(/MSIE 10.0/i))) { doc.className = doc.className + " ie10"; } else if((ua.match(/rv:11.0/i))){ doc.className = doc.className + " ie11"; } 

या बॉब की तरह लिब का प्रयोग करें:

https://github.com/ded/bowser

या सुविधा का पता लगाने के लिए आधुनिकता:

http://modernizr.com/

इसलिए मुझे अंत में इस समस्या का अपना समाधान मिला।

माइक्रोसॉफ्ट प्रलेखन के माध्यम से खोज करने के बाद मैंने नया IE11 केवल शैली msTextCombineHorizontal खोजने में कामयाब रहा

मेरे परीक्षण में, मैं IE10 शैलियों की जांच करता हूं और यदि वह एक सकारात्मक मैच है, तो मैं IE11 केवल शैली की जांच कर सकता हूं। अगर मुझे लगता है, तो यह IE11 + है, अगर मैं नहीं, तो यह IE10 है

कोड उदाहरण: सीएसएस क्षमता परीक्षण (जेएसएफडेल) द्वारा IE10 और IE11 का पता लगाएं

जब मैं उन्हें खोजता हूं तो मैं अधिक शैलियों के साथ कोड का उदाहरण अपडेट करूँगा I

नोट: यह लगभग निश्चित रूप से IE12 और IE13 को "IE11" के रूप में पहचान देगी, क्योंकि ये शैलियों संभवतः आगे ले जाएंगी। मैं और परीक्षणों को जोड़ दूंगा क्योंकि नए संस्करणों को बाहर किया जाएगा, और उम्मीद है कि आधुनिकीकरण पर फिर से भरोसा करने में सक्षम हो जाएगा।

मैं फ़ॉलबैक व्यवहार के लिए इस परीक्षा का उपयोग कर रहा हूं फ़ॉलबैक व्यवहार केवल कम ग्लैमरस स्टाइल है, इसमें कार्यक्षमता कम नहीं होती है

मैंने यह सहायक पाया

 <?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false) { ?> <script> $(function(){ $('html').addClass('ie11'); }); </script> <?php } ?> 

इसे अपने <head> दस्तावेज़ के अंतर्गत जोड़ें