2011-09-05 15 views
6

मैं एक CSS3 ट्रांसफॉर्म करना चाहता हूं: घुमाने (360deg); एक संक्रमण में 1 एस; एक अलग छवि (तत्व) की बजाय पृष्ठभूमि छवि पर .. क्या यह संभव है? मैंने Google से नरक की खोज की है लेकिन कोई सफलता नहीं! क्या मैं प्राप्त करने के लिए कोशिश कर रहा हूँ की तरह कुछ है:पृष्ठभूमि छवि पर CSS3 संक्रमण

#footerLogo { 
    background: url('ster.png'), 
    -moz-transition: -moz-transform 1s, 
    transition: transform 1s, 
    -o-transition: -o-transform 1s, 
    -webkit-transition: -webkit-transform 1s; 
    background-position: #outlinedtotheleft; 
} 
#footerLogo:hover { 
    background: transform: rotate(360deg); 
    -o-transform: rotate(360deg); 
    -moz-transform: rotate(360deg); 
    -webkit-transform: rotate(360deg); 
} 

मुझे आशा है कि यह संभव है! मैं जानता हूँ कि इसके साथ जे एस (jQuery) में आसानी से संभव है:

$('#something').hover(function(){morecodehere}); 

... लेकिन मैं जानना चाहता हूँ अगर यह केवल सीएसएस के साथ संभव है (3)

HTML:

<div id="footerLogo"> 
    <img src="carenza.png"/> 
</div> 
+0

अगली बार कोड ब्लॉक जोड़ने पर, इंडेंटेशन को संरक्षित करने के लिए केवल 4 + रिक्त स्थान से पूरे ब्लॉक को इंडेंट करें। इनलाइन कोड के लिए बैकटीक्स का प्रयोग करें। – numbers1311407

उत्तर

7

सुनिश्चित करें कि आप, कुछ इस तरह की कोशिश कर सकते हैं:

एचटीएमएल

<div id="planet"> 
</div> 

सीएसएस

#planet { 
    width:200px; 
    height:200px; 
    background: transparent url(http://cdn3.iconfinder.com/data/icons/nx11/Internet%20-%20Real.png) no-repeat center center; 
} 

#planet { 
    -webkit-animation-name: rotate; 
    -webkit-animation-duration:2s; 
    -webkit-animation-iteration-count:infinite; 
    -webkit-animation-timing-function:linear; 
    -moz-animation-name: rotate; 
    -moz-animation-duration:2s; 
    -moz-animation-iteration-count:infinite; 
    -moz-animation-timing-function:linear; 
} 

@-webkit-keyframes rotate { 
    from {-webkit-transform:rotate(0deg);} 
    to { -webkit-transform:rotate(360deg);} 
} 

@-moz-keyframes rotate { 
    from {-moz-transform:rotate(0deg);} 
    to { -moz-transform:rotate(360deg);} 
} 

JSFiddle

+0

लगभग, लेकिन इसे केवल माउसओवर पर संक्रमण करना है और div में 1 अन्य आईएमजी है। कल्पना कीजिए; आपके पास एक छोटी सी स्टार छवि है (अलग-अलग लेकिन मूल लोगो का हिस्सा) और उसके बाकी लोगो ("कुछ नाम") इसके बगल में हैं। अगर मैं div (दोनों छवियों में से एक) पर होवर करता हूं तो केवल तारा घूमता है। केवल CSS3 के साथ .. हालांकि अभी भी अच्छा उदाहरण है :-)! – Dominique

+0

@ डोमिनिक इस तरह? http://jsfiddle.net/andresilich/YqdJb/2/ –

+0

हां !! धंन्यवाद! – Dominique

5

मुझे नहीं लगता कि आप पृष्ठभूमि छवि में स्वयं को बदल सकते हैं (अलग से div से।) हालांकि, आप पूरे div को घुमा सकते हैं, जिसमें इसे एनिमेट करने के लिए एक संक्रमण का उपयोग करना शामिल है (here's a working example।)

यदि आप उस सटीक प्रभाव का वर्णन कर सकते हैं जो आप प्राप्त करना चाहते हैं तो यह मदद कर सकता है?

कोड:

#footerlogo { 
    width: 200px; 
    height: 200px; 
    background-image: url(http://lorempixum.com/200/200); 
    -webkit-transition: -webkit-transform 1s; 
    -moz-transition: -moz-transform 1s; 
    transition: transform 1s; 
} 

#footerlogo:hover { 
    -webkit-transform: rotate(360deg); 
    -moz-transform: rotate(360deg); 
    transform: rotate(360deg); 
} 
+1

अपरिवर्तित सीएसएस घोषणा हमेशा अंतिम रहनी चाहिए! आप एक बार तैयार होने के बाद मानक कार्यान्वयन का उपयोग करना चाहते हैं और ब्राउज़र विशिष्ट लोगों द्वारा इसे ओवरराइट नहीं करना चाहते हैं जो टूटा जा सकता है। – gondo

+0

@ गोंडो 2011 में, मुझे संदेह है कि कोई भी बहुत आगे सोच रहा था :) मैं आदेश बदल दूंगा। –

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