2012-09-17 15 views
9

मुझे पता है कि पथ सीएसएस फ़ाइल के सापेक्ष होने चाहिए, लेकिन यह एक छवि के मामले में प्रतीत नहीं होता है जिसे मैं कर्सर के रूप में उपयोग करने का प्रयास कर रहा हूं।सीएसएस फ़ाइल के सापेक्ष कर्सर यूआरएल हैं?

फ़ाइल संरचना है:

Content/Site.css 
Content/images/butteryfly.ani 
Content/images/user.png 

Site.css:

.butterfly 
{  
cursor: url('images/butterfly.ani'), pointer;  
} 

/*this works*/ 
.ui-icon-user 
{ 
    background-image: url(images/user.png) !important; 
    background-position: 0 0; 
} 

यह काम करता है अगर मैं इसे करने के लिए बदलने के लिए:

.butterfly 
{  
cursor: url('Content/images/butterfly.ani'), pointer;  
} 

क्यों नहीं सापेक्ष URL काम करता है कर्सर के लिए?

संपादित करें: क्रोम, फ़ायरफ़ॉक्स या आईई 9 में काम नहीं करता है। सभी ब्राउज़रों में यह कस्टम एक के बजाय हाथ कर्सर प्रदर्शित करता है।

संपादित 2: अनुवर्ती करने के लिए: मैं वास्तव में इसे अपनी साइट पर काम करने के लिए कैसे प्राप्त करूं, क्योंकि HTML पृष्ठ विभिन्न स्तरों पर बैठते हैं? क्या सीएसएस में किसी भी तरह के रिश्तेदार यूआरएल को निर्दिष्ट करने का कोई तरीका है या क्या मुझे कर्सर की प्रतिलिपि उसी पृष्ठ पर रखनी चाहिए जो प्रत्येक पृष्ठ (जो बेकार है!)?

उत्तर

14

आपको आईई और एफएफ दोनों में काम करने के लिए .cur एक्सटेंशन का उपयोग करना चाहिए। और आईई 11 में और पहले कर्सर फ़ाइल के यूआरएल पृष्ठ के सापेक्ष सीएसएस फ़ाइल के अनुरूप नहीं है।

cursor: url('http://example.com/Content/images/butteryfly.cur'), default; 

दो यूआरएल मानों का उपयोग करने से बचने की कोशिश करें क्योंकि इसके परिणामस्वरूप आईई द्वारा सर्वर पर अनावश्यक हिट होती है। इसके बजाय, एक पूर्ण यूआरएल का उपयोग करें जो आईई, एफएफ और क्रोम में ठीक काम करेगा। ओपेरा डिफ़ॉल्ट का उपयोग करेगा।

5

मैं केवल जानते हैं कि इंटरनेट एक्सप्लोरर HTML दस्तावेज़ के सापेक्ष के रूप में सापेक्ष URL की व्याख्या है, लेकिन आधुनिक ब्राउज़रों (मोज़िला फ़ायरफ़ॉक्स, गूगल क्रोम) ".css" के सापेक्ष के रूप में सापेक्ष URL व्याख्या।

/* 
The CUR and CSS files are in the same folder, the HTML is in a directory above this CSS  file 
*/ 

#example { 
    cursor: url('arrow.cur'),   /* Modern browsers */ 
      url('style/arrow.cur'),  /* Internet Explorer */ 
      default; 
}  
+0

मैंने क्रोम में भी परीक्षण किया ... यह भी काम नहीं करता है - मैं अब फ़ायरफ़ॉक्स की जांच करूंगा> फ़ायरफ़ॉक्स भी काम नहीं करता – woggles

+0

मेरी पिछली टिप्पणी स्क्रैच करें - ऐसा लगता है कि आईई HTML दस्तावेज़ के सापेक्ष कर्सर यूआरएल का इलाज करता है साथ ही, न केवल 'फ़िल्टर' वाले वाले। – BoltClock

+0

आपके द्वारा किए गए पहले कथन वास्तव में सच नहीं है। सापेक्ष यूआरएल आम तौर पर आईई और अन्य ब्राउज़रों के लिए पृष्ठभूमि छवियों के लिए समान व्यवहार करते हैं। एकमात्र अपवाद तब होता है जब कस्टम कर्सर यूआरएल की बात आती है - आईई उन्हें अचानक रिश्तेदार के रूप में नहीं समझता है –

1

मैं सुझाव है कि आप इस छोटे से लेख को पढ़ें। http://blog.stchur.com/2006/11/02/ie-bug-dealing-with-css-custom-cusors/

आईई बग के लिए 3 वर्कअराउंड हैं - आईई कस्टम कर्सर यूआरएल को सापेक्ष के रूप में नहीं समझता है। यूआरएल के अन्य प्रकार सही ढंग से

  • उपयोग आईई सशर्त टिप्पणियों, जॉन सी
  • द्वारा प्रदान समाधान के लिए इसी तरह टैग के बीच html पृष्ठ में IE में व्याख्या कर रहे हैं

    1. उपयोग पूर्ण पथ
    2. कदम कर्सर शैली
    संबंधित मुद्दे