2013-04-04 6 views
5

मेरे पास एकाधिक एंकर तत्व हैं। एक बार उन पर क्लिक करने पर कुछ भी नहीं होता है, सभी सीएसएस एनिमेशन काम करते हैं लेकिन लिंक किसी भी पेज को खोल नहीं रहे हैं/किसी भी क्रिया को ट्रिगर नहीं कर रहे हैं। मुझे कर्सर को थोड़ा स्थानांतरित करना है और फिर फिर से क्लिक करना है।सीएसएस - बटन समय-समय पर अनजान हैं?

मुझे यकीन है कि यह एक सीएसएस मुद्दा है, लेकिन मुझे अपने सीएसएस में कुछ भी गलत नहीं मिल रहा है। मुझे लगता है कि समस्या मार्जिन में हो सकती है (4 पीएक्स नीचे मार्जिन लेकिन 4 पीएक्स टॉप मार्जिन पर: सक्रिय) लेकिन मैंने इसे कई वेबसाइटों पर देखा है और बटन ठीक काम कर रहे थे ...

यहां बटन हैं। उन पर क्लिक करें, लगभग 20 क्लिकों में से एक काम नहीं करता है (कभी-कभी यह पहले क्लिक के साथ होता है):

http://jsfiddle.net/4nz4v/ (ध्यान दें कि बटन कैसे प्राप्त नहीं हो रहे हैं। क्लिक के बाद सक्रिय वर्ग, दोनों नवीनतम ओपेरा में इसका परीक्षण किया गया है और

.button { 
    display: inline-block; 
    vertical-align: top; 
    color: #000; 
    background: #aaa; 
    text-shadow: 1px 1px 1px #fff; 
    border: 0; 
    padding: 0.6em 1.2em; 
    margin: 0 0 4px 0; 
    text-decoration: none; 
    border-radius: 6px; 
} 

.button:hover { 
    color: #fff; 
    text-shadow: none; 
} 

.button:active { 
    margin: 4px 0 0 0; 
} 

.active { 
    background: #fff; 
    text-shadow: none; 
    color: #000; 
} 

धन्यवाद: क्रोम)

यहाँ सीएसएस है।

+0

वे मेरे लिए ठीक काम करते हैं। –

+0

50+ क्लिक। इसे पुन: संसाधित नहीं कर सका। एफएफ ब्राउज़र का उपयोग करना। – David

+1

मुझे क्रोम में वर्णित व्यवहार मिलता है 26 – Horen

उत्तर

1

जैसा कि आपको संदेह है कि यह एक मार्जिन समस्या प्रतीत होता है।

.button:active { 
    margin: 4px 0 0 0; 
} 

उपर्युक्त कोड को हटाने से समस्या हल हो जाती है। मैं इस कोड को हटा दूंगा और अधिक लगातार परिणामों के लिए अपने माता-पिता को पैडिंग जोड़ दूंगा।

+0

क्या आप इसे कैसे करें, इस पर विस्तार से बता सकते हैं? क्या होगा यदि मेरे बटन में कोई माता-पिता नहीं है, केवल शरीर ही? – Wordpressor

0

मिले एक समाधान: mouseup या mousedown का उपयोग click के बजाय:

$('.button').mouseup(function() { 
    $(this).siblings().removeClass('active'); 
    $(this).addClass('active'); 
}); 

http://jsfiddle.net/4nz4v/3/

+0

धन्यवाद! दुर्भाग्य से यह मेरी मदद नहीं करेगा, क्योंकि जेएस केवल प्रदर्शन के लिए था। – Wordpressor

+0

@Wordpressor तो असली समस्या में यह सिर्फ एक लिंक है? शायद जेएस कोड का उपयोग करें और मैन्युअल रूप से एक नया टैब/विंडो बनाएं? –

+0

बिल्कुल, असली समस्या सिर्फ एक लिंक है ... मैं नहीं चाहता/इसके साथ किसी भी जेएस का उपयोग नहीं कर सकता क्योंकि यह असल में लिंक की अनगिनत संख्या है। – Wordpressor

0

यह एक बग है। यह बहुत संगत है: आपको बस यह पता लगाना होगा कि यह कौन सी पंक्ति है जो अनजान है। अपने JSFiddle को दोबारा जांचें, और पाठ के नीचे पंक्ति 2 या 3 पिक्सल खोजें। यही वह जगह है जहां आप इसे क्लिक नहीं कर सकते - बिल्कुल। यदि आप इसे नहीं ढूंढ पा रहे हैं, तो अपने कर्सर को बटन के नीचे से ऊपर तक धीरे-धीरे, एक पिक्सेल को प्रत्येक पिक्सेल पर क्लिक करके ले जाएं।

अनजान क्षेत्र क्षैतिज रूप से लगातार है; पूरी पिक्सेल पंक्ति अनजान है। मुझे प्रति बटन अधिकतम दो अक्केक्टेबल पिक्सेल पंक्तियां मिली हैं, यदि दोनों शीर्ष और निचले पैडिंग को संशोधित किया गया है।

बग तब होता है जब बटन या लिंक की पैडिंग/मार्जिन/सीमा :active स्थिति पर संशोधित होती है।

यह सूचना दी जाना चाहिए, अपने JSFiddle, यहाँ के साथ:

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