2016-02-15 11 views
6

मैंने एक एंकर लिंक बटन बनाया है जहां मैं स्पिनर एनीमेशन दिखाना चाहता हूं जब मैं :focus स्थिति में बटन पर क्लिक करता हूं। मैं एनीमेशन दिखाने के लिए फ़ॉन्ट विस्मयकारी का उपयोग कर रहा हूं लेकिन जब मैं बटन पर क्लिक करता हूं, तो स्पिनर एनीमेशन काम नहीं कर रहा है।स्पिनर कताई/घूर्णन क्यों नहीं कर रहा है?

enter image description here

नोट: मैं यहाँ जावास्क्रिप्ट का उपयोग नहीं करना चाहते हैं तो बस के साथ शुद्ध सीएसएस

यहाँ क्या करना चाहते हैं CodePen लिंक https://codepen.io/rhulkashyap/pen/vLPNdQ

है

@import url(https://fonts.googleapis.com/css?family=Titillium+Web); 
 
body { 
 
    font-family: 'Titillium Web', sans-serif; 
 
    text-align: center; 
 
} 
 
#button { 
 
    padding: 15px; 
 
    background-color: green; 
 
    color: #fff; 
 
    text-decoration: none; 
 
    border-radius: 5px; 
 
    width: 300px; 
 
    display: inline-block; 
 
    text-align: center; 
 
    font-size: 25px; 
 
    -webkit-transition: all .3s ease-in-out; 
 
    transition: all .3s ease-in-out; 
 
} 
 
#button:before { 
 
    content: "\f090"; 
 
    font-family: FontAwesome; 
 
    margin-right: 5px; 
 
} 
 
#button:focus { 
 
    background-color: #02b402; 
 
} 
 
#button:focus:before { 
 
    content: "\f1ce"; 
 
    -webkit-animation: spin .8s ease infinite; 
 
    animation: spin .8s ease infinite; 
 
} 
 
@-webkit-keyframes spin { 
 
    from { 
 
    -webkit-transform: rotate(0deg); 
 
    transform: rotate(0deg); 
 
    } 
 
    to { 
 
    -webkit-transform: rotate(359deg); 
 
    transform: rotate(359deg); 
 
    } 
 
} 
 
@keyframes spin { 
 
    from { 
 
    -webkit-transform: rotate(0deg); 
 
    transform: rotate(0deg); 
 
    } 
 
    to { 
 
    -webkit-transform: rotate(359deg); 
 
    transform: rotate(359deg); 
 
    } 
 
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" /> 
 
<h2> Click Here</h2> 
 
<a id="button" href="javascript:void(0)">Enter In</a>

+0

यह ठीक से काम करने लगता है (क्रोम) लगता है। आप किस ब्राउजर का उपयोग कर रहे हैं और * काम नहीं कर रहे * से आपका क्या मतलब है? – Harry

+0

मैं फ़ायरफ़ॉक्स डेवलपर संस्करण –

उत्तर

4

ट्रांसफॉर्म केवल ब्लॉक स्तर तत्वों (inline-block सहित) पर काम करना चाहिए। display:inline-block के रूप में छद्म-तत्व बनाना एनीमेशन काम करता है।

प्रश्न पर टिप्पणी करने के बाद, मैंने देखा कि एनीमेशन Chrome v50 (dev-m) में काम नहीं कर रहा था, जबकि यह क्रोम v43 में काम कर रहा था। तो, वर्तमान व्यवहार एक समान होना चाहिए

@import url(https://fonts.googleapis.com/css?family=Titillium+Web); 
 
body { 
 
    font-family: 'Titillium Web', sans-serif; 
 
    text-align: center; 
 
} 
 
#button { 
 
    padding: 15px; 
 
    background-color: green; 
 
    color: #fff; 
 
    text-decoration: none; 
 
    border-radius: 5px; 
 
    width: 300px; 
 
    display: inline-block; 
 
    text-align: center; 
 
    font-size: 25px; 
 
    -webkit-transition: all .3s ease-in-out; 
 
    transition: all .3s ease-in-out; 
 
} 
 
#button:before { 
 
    display: inline-block; 
 
    content: "\f090"; 
 
    font-family: FontAwesome; 
 
    margin-right: 5px; 
 
} 
 
#button:focus { 
 
    background-color: #02b402; 
 
} 
 
#button:focus:before { 
 
    content: "\f1ce"; 
 
    -webkit-animation: spin .8s ease infinite; 
 
    animation: spin .8s ease infinite; 
 
} 
 
@-webkit-keyframes spin { 
 
    from { 
 
    -webkit-transform: rotate(0deg); 
 
    transform: rotate(0deg); 
 
    } 
 
    to { 
 
    -webkit-transform: rotate(359deg); 
 
    transform: rotate(359deg); 
 
    } 
 
} 
 
@keyframes spin { 
 
    from { 
 
    -webkit-transform: rotate(0deg); 
 
    transform: rotate(0deg); 
 
    } 
 
    to { 
 
    -webkit-transform: rotate(359deg); 
 
    transform: rotate(359deg); 
 
    } 
 
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet" /> 
 
<h2> Click Here</h2> 
 
<a id="button" href="javascript:void(0)">Enter In</a>

+1

@ketan का उपयोग कर रहा हूं: क्षमा करें, मुझे आपको नहीं मिला। यदि आपका मतलब है '@ -webkit-keyframes' के अंदर' ट्रांसफॉर्म' की उपस्थिति 'तो यह आवश्यक है। क्रोम के पुराने संस्करण थे जो उपसर्ग के बिना ट्रांसफॉर्म का समर्थन करते थे, लेकिन कीफ्रेम नहीं (मुझे लगता है कि v38 या कुछ भी तक)। हालांकि विपरीत की आवश्यकता नहीं है। – Harry

+1

दूसरे विचारों पर, मुझे लगता है कि '@ -webkit-keyframes' के अंदर अपरिवर्तित' ट्रांसफॉर्म' की आवश्यकता नहीं होनी चाहिए क्योंकि वेबकिट '-webkit-transform' लेने में सक्षम होना चाहिए जब अपरिपक्व व्यक्ति वहां नहीं है। लेकिन मुझे अभी भी इस समस्या में पहले चलना याद रखना प्रतीत होता है। वैसे भी, नवीनतम संस्करणों के लिए बस मानक संस्करण पर्याप्त से अधिक होंगे :) – Harry

+1

धन्यवाद @ हैरी यह ठीक काम करता है। –

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