2010-12-01 20 views
10

में सीमा-त्रिज्या के लिए CSS3Pie एचटीसी का उपयोग करना मैं आईई 8 में border-radius को सक्षम करने के लिए CSS3Pie एचटीसी फ़ाइल का उपयोग कर रहा हूं, लेकिन मुझे कोई प्रभाव नहीं पड़ रहा है। मेरे सीएसएस है:आईई 8

button { 
    border-radius: 4px; 
    -webkit-border-radius: 4px; 
    -moz-border-radius: 4px; 
    behavior: url(PIE.htc); 
} 

मैं सार्वजनिक जड़ में PIE.htc रख दिया है (के रूप में CSS3PIE डेमो पृष्ठ पर किया जाता है), एक ही फ़ोल्डर में करने की कोशिश की है, एक रिश्तेदार uri और एक निरपेक्ष uri का उपयोग कर।

डेमो काम कर रहे हैं; बस मेरा कोड नहीं!

धन्यवाद, एडम

उत्तर

4

PIE.htc का URL behavior: url(PIE.htc); में संदर्भित के रूप में, एक रिश्तेदार यूआरएल है तो यह शायद स्टाइलशीट रूप में एक ही निर्देशिका में यह की तलाश में है, तो मैं करने के लिए एक स्लेश जोड़ने का सुझाव चाहते हैं इसे एक पूर्ण यूआरएल बनाओ। लेकिन आप कहते हैं कि आप पहले से ही कर चुके हैं।

जांचें कि आप जिस यूआरएल को निर्दिष्ट कर रहे हैं वह वास्तव में PIE.htc फ़ाइल लोड करता है - यानी उस यूआरएल को सीधे अपने ब्राउजर में डाल दें और देखें कि क्या आता है। यह संभव है कि आपका वेब सर्वर एक कारण या किसी अन्य कारण से सही तरीके से सेवा नहीं कर रहा है (माइम प्रकार को पहचानना नहीं है? आदि)

क्या आप known problems on the PIE site से गुजर चुके हैं? क्या आपने अपनी शैली में position:relative; जोड़ा है? क्या यह ज्ञात z-index मुद्दा हो सकता है?

आप निर्दिष्ट करते हैं कि यह IE8 में काम नहीं करता है। क्या आपने इसे आईई 7 में आजमाया है? IE6? वही परिणाम?

वैसे (यह यह एक IE8 विशेष मुद्दा होने का चौथाई संभावना को दूर होगा) - असंबंधित बिंदु है, लेकिन आप नीचे ब्राउज़र-विशिष्ट उपसर्गों के साथ संस्करणों border-radius शैली रखना चाहिए। चीजों को करने का यह मानक तरीका है, क्योंकि इसका मतलब है कि जब उदाहरण के लिए, फ़ायरफ़ॉक्स border-radius का समर्थन करना शुरू करता है, तो यह मानक शैली को -moz-border-radius पर उठाएगा। अगर आपको -moz संस्करण नीचे मिला है, तो वह उपयोग जारी रहेगा, जो आप चाहते हैं कि हो सकता है।

+0

असल URL वह URL है कि ब्राउज़र, नहीं सीएसएस में देखा जा रहा से संबंधित है। कुछ आईई अजीबता। लेकिन मेरे लिए, यह mattered है कि यह 'pie' नामक एक उपनिर्देशिका में था या मुख्य फ़ाइल के ठीक आगे, यानी 'url (PIE.htc)' काम किया, 'url (pie/PIE.htc)' नहीं था। –

1
behavior: url(PIE.htc); 

सुनिश्चित करें कि वहाँ के बीच कोई जगह नहीं है url और ( क्योंकि यह आईई 8

+0

धन्यवाद, लेकिन कोई स्थान नहीं है –

+0

कुछ संपादक एक स्थान डालेंगे जब आप उन्हें टेक्स्ट पेस्ट करेंगे। – Brilliand

3

के रूप में काम करने से रोकता है क्योंकि डैनियल रेहरर ने कहा, आपको स्थिति का उपयोग करने की आवश्यकता है: आईई 8 के लिए रिश्तेदार और जेड-इंडेक्स गुण। यदि आप सीएसएस फ़ाइल को कॉल करने के लिए उप निर्देशिका वाले वेबसाइट का उपयोग कर रहे हैं, तो आपको अपने सीएसएस में एक पूर्ण पथ का उपयोग PIE.htc पर करने की भी आवश्यकता होगी - यह हमारी समस्या का एक हिस्सा था।

समस्या का दूसरा भाग यह हो सकता है कि आपका सर्वर PIE.htc फ़ाइल को पाठ/x-घटक के रूप में आउटपुट नहीं कर रहा है। आप इसे आईआईएस या अपाचे के माध्यम से सही कर सकते हैं, या अपने सीएसएस में PIE.php स्क्रिप्ट को कॉल कर सकते हैं। यहां अधिक जानकारी: http://css3pie.com/documentation/known-issues/#content-type

इन दोनों मुद्दों ने हमें प्राप्त किया था, और उम्मीद है कि वे आपकी मदद करेंगे।

1

शायद ज़रुरत पड़े किसी तालिका सेल को यह लागू करने के लिए कोशिश कर रहा है, तो आप (और नहीं td या th भले ही उन तत्वों गोल किया जा रहा है) table तत्व को position: relative लागू करने के लिए की आवश्यकता होगी।

2

मुझे वास्तव में एक पूरी तरह से अलग कारण के लिए यह समस्या थी।

यदि सीमा उसी तत्व पर लागू होती है तो सीमा-त्रिज्या काम नहीं करेगा। मैं फ़िल्टर के रूप में लागू रैखिक ढाल वाले बटन पर सीमा-त्रिज्या लगा रहा था। जैसे ही मैंने फ़िल्टर को हटा दिया, सीमा-त्रिज्या काम किया।

यह व्यवहार से प्रलेखित है और ढ़ाल -pie-background का उपयोग कर लागू किया जाना चाहिए:

http://css3pie.com/documentation/supported-css3-features/#gradients