2013-08-31 14 views
36

Czy można używać zewnętrznych adresów URL obrazków do niestandardowych kursorów CSS? Poniższy przykład nie działa:Używanie zewnętrznych obrazów do niestandardowych kursorów CSS

HTML:

<div class="test">TEST</div> 

CSS:

.test { 
    background:gray; 
    width:200px; 
    height:200px; 
    cursor:url('http://upload.wikimedia.org/wikipedia/commons/d/de/POL_apple.jpg'); 
} 

Fiddle: http://jsfiddle.net/wNKcU/4/

+0

możliwe duplikat [Custom Cursor CSS obrazu] (http://stackoverflow.com/questions/336925/custom-cursor-image-css) –

+0

podobne do korzystanie z ikon favicon.ico, istnieją granice tego, jaki rodzaj obrazu może być użyty dla niestandardowego kursora. Spróbuj użyć mniejszego obrazu. – vmarche

+3

@ Zeaklous - Wcale nie jestem dupkiem - pytam o obrazy zewnętrzne – Yarin

Odpowiedz

67

To nie działa, ponieważ obraz był zbyt duże - istnieją ograniczenia dotyczące wymiarów obrazu. Na przykład w Firefoksie limit rozmiaru wynosi 128 x 128 pikseli. Aby uzyskać więcej informacji, patrz this page.

Dodatkowo musisz dodać także auto.

jsFiddle demo here - zauważ, że jest to rzeczywisty obraz, a nie domyślny kursor.

.test { 
 
    background:gray; 
 
    width:200px; 
 
    height:200px; 
 
    cursor:url(http://www.javascriptkit.com/dhtmltutors/cursor-hand.gif), auto; 
 
}
<div class="test">TEST</div>

+13

Więcej informacji na temat ograniczeń rozmiaru: "W Gecko (Firefox) limit rozmiaru kursora to 128 × 128 pikseli. Większe obrazy kursora są ignorowane, jednak należy ograniczyć się do rozmiaru 32 × 32, aby uzyskać maksymalną kompatybilność z systemami operacyjnymi i platformami. " (Od https://developer.mozilla.org/en-US/docs/Web/CSS/cursor/url?redirectlocale=en-US&redirectslug=CSS%2Fcursor%2Furl) – Yarin

+2

Właściwie nie musisz dodawać "auto" "jako druga wartość może to być oczywiście wszystko, od wartości kursora CSS, url(). Działa jako wywołanie zwrotne, jeśli adres URL() z jakiegoś powodu nie działa. –

+4

@SilverRingvee masz na myśli ** zastępcze ** jeśli adres URL ...;) dzięki – abhisekp

7

chciałbym umieścić to jako komentarz, ale nie mam rep dla niego. To, na co odpowiedział Josh Crozier, jest poprawne, ale dla IE .cur i .ani są to jedyne obsługiwane formaty. Więc powinieneś mieć zapasowe na wszelki wypadek:

.test { 
    cursor:url("http://www.javascriptkit.com/dhtmltutors/cursor-hand.gif"), url(foo.cur), auto; 
} 
+1

[Przykład pracy dla wersji IE] (https://stackoverflow.com/questions/7419314/custom-cursor-image-doesnt-work- in-all-ies # answer-35068297). –

Powiązane problemy