2015-10-07 19 views
6

मैं एक "बहु-पंक्ति" स्प्राइट सीएसएस एनीमेशन (इस द्वारा निपटाया गया: http://codepen.io/simurai/pen/vmhuJ) बनाने के लिए प्रयास कर रहा था, केवल यह पता लगाने के लिए कि फ़ायरफ़ॉक्स background-position-x या -y का समर्थन नहीं करता है।सीएसएस चर और एनीमेशन

-x/-y की कमी यहां विस्तार से चर्चा की है: https://bugzilla.mozilla.org/show_bug.cgi?id=550426, और एक प्रस्तावित समाधान (background-position-y doesn't work in Firefox (via CSS)?) सीएसएस चर है, जो हाल ही में फ़ायरफ़ॉक्स में शुरू किए गए थे उपयोग करने के लिए है।

हालांकि, यह एनीमेशन @keyframes से सीएसएस चर अद्यतन करने की तरह दिखता नहीं है? http://jsfiddle.net/phoj0kq5/
मैं जोड़ा एनीमेशन के लिए सीमाओं को झिलमिलाते सिर्फ यकीन है कि यह चल रहा है बनाने के लिए है, लेकिन केकड़ा अपनी उंगलियों तस्वीर नहीं है .. एम आई:

... 
background-position: var(--bgX) var(--bgY); 
... 

/*Here, CSS variables don't work:*/ 
@keyframes move-y { 
    from { 
    --bgY: 0px; 
    } 
    to { 
    --bgY: -670px; 
    } 
} 

यहाँ एक JSFiddle (: फ़ायरफ़ॉक्स केवल टिप्पणी) है सीएसएस चर का प्रयोग गलत है, या वे एनीमेशन का समर्थन नहीं करते हैं?

संपादित

बेला अपडेट किया गया जो वास्तव में क्रोम में (अब भी नहीं फ़ायरफ़ॉक्स में) काम करता है: http://jsfiddle.net/phoj0kq5/1/

+2

सीएसएस-वेरिएबल्स स्पेक एनिमेशन के संबंध में कस्टम गुणों के व्यवहार पर चर्चा करता है (देखें [§2.1] (http://www.w3.org/TR/css-variables-1/#syntax) और [§3 ] (http://www.w3.org/TR/css-variables-1/#using-variables)), लेकिन जैसा कि मैं एनिमेशन के साथ बहुत परिचित नहीं हूं, मैं आगे टिप्पणी नहीं कर सकता। – BoltClock

+0

@ बोल्टक्लॉक - धन्यवाद, यह अच्छी जानकारी है। मैं वास्तव में समझ नहीं पा रहा हूं कि वे क्या कह रहे हैं, लेकिन "दांतेदार" वादा करने की आवाज नहीं है ... – Sphinxxx

+0

आप चर के लिए एसएसएस का उपयोग करते हैं http://sass-lang.com/guide – lyndact

उत्तर

1

यह एक समाधान नहीं है, लेकिन एक समाधान की मदद करनी चाहिए कि:

जब से तुम नहीं कर सकते हैं छवियों का एक हिस्सा गतिशील रूप से दिखाएं जब एक समय में कोल्स और पंक्तियां बदल रही हों, केवल छवियों के एक स्तंभ या पंक्ति का उपयोग करने का प्रयास करें।

जब उप-छवियों की केवल एक पंक्ति का उपयोग किया जाता है, तो आप प्रति दृश्य को background-position: X 0; के साथ सेट करने में सक्षम होना चाहिए जबकि एक्स प्रति छवि आपका ऑफ़सेट है। आपको यह प्राप्त करने के लिए दिखाए जा रहे छवि फ़ाइल को संपादित करने की आवश्यकता होगी।

तो छवि फ़ाइल के रूप में subimages का लेआउट परिवर्तित:

☺☺☺☺ 
☺☺☺☺ 
☺☺☺☺ 

रहे हैं:

☺☺☺☺☺☺☺☺☺☺☺☺ 

जैसा कि मैंने कहा इस समस्या ही है और नहीं बल्कि एक समाधान करने के लिए एक समाधान नहीं है, लेकिन यह सभी ब्राउज़रों पर ठीक काम करना चाहिए। हालांकि, मोज़िला को -x/-y विशेषताओं को कार्यान्वित करना चाहिए या एनिमेशन में सीएसएस-परिवर्तनीय समस्या को ठीक करना चाहिए। तब तक, मुझे इसके लिए उचित समाधान नहीं दिख रहा है।

+0

धन्यवाद! हां जो आपको स्प्राइट एनीमेशन करने में सक्षम बनाता है, लेकिन असली सवाल यह है कि एनीमेशन में नए सीएसएस चर का उपयोग कैसे करें। क्षमा करें अगर वह स्पष्ट नहीं था। – Sphinxxx

+0

हां मैंने वास्तव में केवल एक कामकाज किया है क्योंकि एनिमेशन चर के साथ ऐसी समस्याओं का कारण बनता है। मुझे लगता है कि यह एक मोज़िला संबंधित मुद्दा है और उन्हें इसे ठीक करना चाहिए।जब तक वे इस समस्या को हल नहीं करेंगे, कामकाज ठीक होना चाहिए, हालांकि इसे छवि संपादन कौशल की आवश्यकता है और अतिरिक्त समय लगता है। उसके लिए मैं क्षमा चाहता हूँ – Karkan

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