6

लिए काम नहीं कर चयनकर्ता यहाँ मेरी site है। क्रॉस-ब्राउज़र विसंगतियों की एक श्रृंखला की यह आखिरी समस्या है जिसे मैंने अनुभव किया है और समुदाय को धन्यवाद दिया है।: सक्रिय सीएसएस IE8 और IE9

असल में, इंटरनेट एक्सप्लोरर 8 और Internet Explorer 9 में :active शैलियों मेनू के लिए लागू नहीं कर रहे हैं। दबाए जाने पर इसे गहरा होना चाहिए। कृपया मुझे बताएं कि क्यों और कैसे ठीक करें। अग्रिम में धन्यवाद।

+0

उह, जो 'सक्रिय' शैलियों का जिक्र कर रहे हैं? वे मेरे लिए दोनों संस्करणों में काम करते हैं। – BoltClock

+0

@ बोल्टक्लॉक: मेनू सक्रिय शैली। दबाए जाने पर यह गहरा होना चाहिए - जो इसे होवर की तुलना में एक भेद देता है प्रभाव। – UrBestFriend

+0

मैं इसे अब देखता हूं। इसे याद किया जाना चाहिए। – BoltClock

उत्तर

5

: सक्रिय छद्म वर्ग जबकि एक तत्व उपयोगकर्ता द्वारा सक्रिय किया जा रहा है लागू होता है। उदाहरण के लिए, के दौरान उपयोगकर्ता माउस बटन दबाता है और इसे रिलीज़ करता है। W3 documentation देखें।

लेकिन आप अपने <li> तत्व, जो एक सक्रिय राज्य के बाद से यह वास्तव में सक्रिय हो जाता है कभी नहीं नहीं हो सकता करने के लिए अपने :active चयनकर्ता आवेदन कर रहे हैं - केवल hovered। आप <a> < करने के लिए :active राज्य लागू करना चाहिए - के लिए IE 6.

अद्यतन यह सच है: यहाँ jsFiddle में एक परीक्षण नमूना के रूप में आप देख सकते हैं यह <a> तत्व पर ठीक लेकिन <li>

दिलचस्प जानकारी पर ठीक नहीं काम करता है मैं here

पाया: सक्रिय छद्म वर्ग जबकि एक लिंक उपयोगकर्ता द्वारा चयनित किया जा रहा है लागू होता है।

सीएसएस 1 इस व्यवहार पर एक छोटे से अस्पष्ट था: "एक 'सक्रिय' लिंक एक जाता है कि वर्तमान में चयनित किया जा रहा है (जैसे एक माउस बटन प्रेस द्वारा) पाठक कर रहा है।" इसके अलावा, सीएसएस 1 में: सक्रिय पारस्परिक रूप से अनन्य था: लिंक और : विज़िट किया गया। (और कोई था: मंडराना छद्म वर्ग।) ताकि के लिए नियमों को

सीएसएस 2 चीजें बदल: सक्रिय के रूप में एक ही समय में आवेदन कर सकते हैं: का दौरा किया या: लिंक। और व्यवहार थोड़ा बेहतर समझाया गया था: " :।। सक्रिय छद्म वर्ग है जबकि एक तत्व उपयोगकर्ता द्वारा सक्रिय किया जा रहा है पर लागू होता है उदाहरण के लिए, कई बार उपयोगकर्ता माउस बटन और यह विज्ञप्ति प्रेस के बीच"

IMO, एफएफ एट अल सीएसएस 2 बेहतर आईई से पालन करते हैं। लेकिन चूंकि एक लिंक माना जाता है एक नया पृष्ठ लोड करने के लिए, IE वैध तरीके से कह सकते हैं लिंक अभी भी "सक्रिय" है, जबकि नए पेज लोड हो रहा है, जो कि क्या होता है है।

आप लिंक पर क्लिक, लेकिन लिंक के बंद अपने रखते हुए माउस पकड़े माउस बटन दबाए द्वारा एफएफ में एक ऐसी ही जवाबी सहज व्यवहार देख सकते हैं। लिंक सक्रिय नहीं है (एक नया पृष्ठ लोड नहीं है), लेकिन कड़ी में रहता है: सक्रिय राज्य।दूसरी तरफ, क्रोम और ओपेरा लिंक को सक्रिय करता है, लेकिन अलग-अलग समय पर; क्रोम जैसे ही माउस लिंक क्षेत्र छोड़ देता है, ओपेरा तक माउस बटन जारी नहीं किया जाता है। आईई इस उदाहरण में एफएफ के समान व्यवहार करता है। (लिंक बंद अपने माउस को खींच के बाद दर्ज मारो, और आप व्यवहार में अधिक मतभेद दिखाई देगा।)

मैं इन मतभेद "बग" के किसी भी फोन नहीं होगा, कल्पना में की वजह से अस्पष्टता।

एकमात्र काम-आसपास मैं पेशकश कर सकता हूं स्वीकार करता है कि आप ब्राउज़र व्यवहार के हर पहलू को नियंत्रित नहीं कर सकते हैं। के विभिन्न ब्राउज़रों में व्यवहार की अपेक्षाएं भिन्न हैं, और यदि आप उपयोगकर्ता अपेक्षा के साथ गड़बड़ करना शुरू करते हैं, आप गलत रास्ते पर हैं। सक्रिय बच्चा, जैसे:

+1

बहुत यकीन है कि spec यह नहीं कहता कि 'li' में सक्रिय स्थिति नहीं हो सकती है। – BoltClock

+0

जैसा कि मैं समझता हूं कि तत्व के साथ कोई सक्रिय बातचीत नहीं है, यह सक्रिय नहीं होगा: सक्रिय स्थिति - मैं इसके लिए एक टेस्ट केस बनाउंगा। – easwee

+1

ऐसा लगता है कि आइकन क्लिक करने योग्य होने से मेनू को अवरुद्ध कर रहा है। क्या कोई कामकाज है मैं यह हूँ – UrBestFriend

5
बस प्रासंगिकता के और किसी और को एक समाधान के लिए खोज की परेशानी को बचाने के लिए खातिर

, मैं भी आईई < = 10 है, जहां आप एक के लिए शैलियों लागू नहीं कर सकते में एक "बग" पाया ;

a:active img { 
    position:absolute; 
    top:-30px; 
} 

ऊपर आईई < = 10 में छवि की स्थिति में परिवर्तन नहीं होगा, ऐसी स्थिति में आप आवेदन करने की आवश्यकता होगी: चाइल्ड तत्व पर ही सक्रिय;

a:active img, 
a img:active { 
    position:absolute; 
    top:-30px; 
} 

कौन सा ज्यादातर मामलों में लंगर के अंदर किसी भी पाठ के रूप में एक आदर्श समाधान नहीं है छवि तुलना में एक उच्च z- इंडेक्स मान है, की छवि पर क्लिक के आधार पर स्थिति की जरूरत है जिसका अर्थ है कि छवि केवल यह बदल जाएगा स्वयं (छवि को सक्रिय स्थिति दे रहा है) ... जो मुझे एक मामूली बांध में छोड़ देता है, लेकिन एक बाध्य नहीं है (केवल एक सीएसएस के लिए समाधान)।

तो हालांकि यह एक फिक्स नहीं है, हालांकि यह आईई में सक्रिय छद्म चयनकर्ता के लिए गिरावट के बारे में दूसरों के लिए "चेतावनी" का एक नोट है। बकवास। = (

+2

'अवधि: सक्रिय + अवधि 'चयनकर्ता IE10 में भी काम नहीं करता है। ध्यान दें कि सरल 'अवधि: सक्रिय' काम करता है। – ruvim

+0

धन्यवाद, @ruvim। IE10 में बग की पुष्टि को प्रतिबिंबित करने के लिए अपडेट किया गया जवाब। – seemly