2013-05-21 5 views
10

तो मेरे पास है मार्कअप:एक छद्म तत्व को होवर ट्रिगर करने से रोकें?

<div class="a b"></div> 

जहां ए वर्ग के साथ जुड़े एक हॉवर वर्ग है यह

और .b वर्ग एक छद्म तत्व इसके साथ जुड़े ... इसलिए की तरह है:

div 
{ 
    width: 100px; 
    height: 100px; 
} 
.a { background: red; display: inline-block; } 
.a:hover { background: green; } 

.b:after 
{ 
    content: ''; 
    display: inline-block; 
    width: 100px; 
    height: 100px; 
    margin-left: 100px; 
    background: pink; 
} 

क्या सीएसएस के साथ एक छद्म तत्व को .a क्लास होवर ट्रिगर करने से रोकने के लिए संभव है?

FIDDLE

+0

क्या आप एक स्नैपशॉट प्रदान कर सकते हैं कि आप कैसे चाहते हैं और आपके पास क्या है? – Nitesh

+0

अफैइक यह संभव नहीं है क्योंकि छद्म तत्व वास्तविक तत्व का बच्चा है। – powerbuoy

+0

** ** ** चयनकर्ता सहायता नहीं कर सकता था? – Danield

उत्तर

23

निम्नलिखित सीएसएस आधुनिक ब्राउज़रों (not IE10-) के लिए काम कर देता है:

.b:after { 
    pointer-events: none; 
} 

pointer-events: none तत्वों मंडराना/क्लिक करें घटनाओं प्राप्त नहीं कर सकते हैं।

this fiddle देखें। गैर एसवीजी तत्वों के लिए


सावधानी

pointer-events समर्थन एक रिश्तेदार जल्दी स्थिति में है।

गैर एसवीजी तत्वों के लिए सीएसएस में सूचक-घटनाओं के उपयोग प्रायोगिक है: developer.mozilla.org आप निम्नलिखित चेतावनी देता है। सुविधा यूआईआई यूआई ड्राफ्ट विनिर्देश का हिस्सा थी, लेकिन कई खुले मुद्दों के कारण, सीएसएस 4 पर स्थगित कर दिया गया है।

display: inline-block के लिए Chrome की बॉक्स मॉडल व्याख्या the above fiddle में एक झिलमिलाहट का कारण बनता है।
यदि आप इसके बजाय display: block पर स्विच करते हैं, तो आपको बॉक्स की उचित व्याख्या मिल जाएगी।
फ़ायरफ़ॉक्स में यह समस्या नहीं है।
सुनिश्चित करने के लिए लगातार बॉक्स मॉडल व्याख्या, का उपयोग करें: क्रोम में

.b:after { 
    pointer-events: none; 
    display: block; 
} 

देखें this fiddle झिलमिलाहट प्रभाव देखने के लिए।

+0

'+ 1' अच्छी चाल। –

+0

हम्म यह एक अच्छा विचार है, लेकिन मैं झिलमिलाहट देख रहा हूं ... कोई विचार? – Danield

+0

एचआरएम, मैं एक झिलमिलाहट नहीं देख सकता। आप किस ब्राउज़र/ओएस का उपयोग करते हैं? – tessi

संबंधित मुद्दे