2011-09-05 39 views
6

Tôi muốn thực hiện chuyển đổi CSS3: xoay (360deg); trong quá trình chuyển đổi 1s; trên hình nền thay vì hình ảnh riêng biệt (phần tử) .. Điều này có khả thi không? Tôi đã tìm kiếm địa ngục trên Google nhưng không thành công! Điều tôi đang cố gắng đạt được là:Chuyển đổi CSS3 trên hình nền

#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); 
} 

Tôi hy vọng điều này là có thể! Tôi biết điều đó là dễ dàng doable trong JS (jQuery) với:

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

... nhưng tôi muốn biết nếu nó có thể chỉ với CSS (3)

HTML:

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

Khi thêm khối mã vào lần sau, chỉ thụt lề toàn bộ khối bằng 4 + dấu cách để bảo toàn thụt lề. Sử dụng backticks cho mã nội tuyến. – numbers1311407

Trả lời

7

Chắc chắn bạn có thể, hãy thử một cái gì đó như thế này:

HTML

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

CSS

#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

gần như, nhưng nó chỉ có để chuyển đổi trên một di chuột qua và div chứa 1 khác IMG. tưởng tượng; bạn có một hình ảnh ngôi sao nhỏ (riêng biệt nhưng một phần của logo gốc) và phần còn lại của biểu trưng đó ("Một số Tên") bên cạnh nó. Nếu tôi di chuột qua div (một trong hai hình ảnh) thì chỉ sao quay. Chỉ với CSS3 .. Ví dụ vẫn đẹp :-)! – Dominique

+0

@Dominique như thế này? http://jsfiddle.net/andresilich/YqdJb/2/ –

+0

Có !! thnk bạn! – Dominique

5

Tôi không nghĩ rằng bạn có thể áp dụng biến đổi cho chính hình nền (tách biệt với div.) Tuy nhiên, bạn có thể xoay toàn bộ div, bao gồm cả việc sử dụng chuyển đổi để tạo ảnh động (here's a working example.)

Nó có thể giúp đỡ nếu bạn có thể mô tả hiệu quả chính xác mà bạn muốn đạt được?

Code:

#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

khai báo css không cố định nên luôn luôn là cuối cùng! bạn muốn sử dụng việc triển khai chuẩn khi đã sẵn sàng và không ghi đè lên nó bằng trình duyệt cụ thể những gì có thể bị hỏng. – gondo

+0

@gondo Năm 2011, tôi nghi ngờ bất cứ ai đã nghĩ rằng xa phía trước :) Tôi sẽ thay đổi thứ tự. –

Các vấn đề liên quan