2012-04-09 11 views
9

अतीत में मैंने आईवी 9 में "फसल" (overflow: hidden) नहीं होने पर एसवीजी छवियों के संबंध में "कौन गलत था" के बारे में एक प्रश्न का उत्तर दिया, जहां अन्य सभी सहायक ब्राउज़रों ने ऐसा किया। जवाब here है।क्या एसवीजी सामग्री डिफ़ॉल्ट रूप से एम्बेडेड <svg> के बाहर दिखाई देनी चाहिए?

आज, एचटीएमएल 5 बॉयलरप्लेट फिर से समीक्षा करते समय, मैंने देखा है कि वे वे कोड के इस बिट के साथ "[correct] overflow not being hidden in IE9" दावा:

svg:not(:root) { overflow: hidden; } 

मैं पुष्टि या कुछ अन्य की ओर इशारा करते द्वारा अपने मूल अनुसंधान को अस्वीकार करने के किसी के लिए देख रहा हूँ या तो एचटीएमएल 5 या एसवीजी चश्मा में ध्यान दें। मुझे कुछ भी नहीं मिला, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मुझे कुछ याद नहीं आ रहा है।

सबसे अच्छा मुझे मिल सकता है कि वे नियम 7 here लागू करने की कोशिश कर रहे हैं, लेकिन यह केवल img टैग या सीधे लोड होने पर एक एसवीजी दस्तावेज़ पर लागू होना चाहिए।

+0

शीर्षक संपादित करने के लिए धन्यवाद @Phrogz। मुझे इस सवाल का संक्षेप में संक्षेप में कुछ परेशानी हो रही थी। –

+0

@casperOne एक विनिर्देश पर स्पष्टीकरण मांगने के लिए कैसे एक असली सवाल नहीं है? मैं शब्द को गरीब मान सकता हूं, लेकिन मुझे नहीं लगता कि यह उस श्रेणी को कैसे फिट करता है जिसे आपने लेबल किया है। क्या यह भी स्थानीयकृत है? –

+0

आप किसी को यह स्पष्ट करना चाहते हैं कि कोई सही या गलत था या नहीं। मैं इसे फिर से खोल सकता हूं, लेकिन फिर मैं इसे फिर से बंद कर दूंगा "रचनात्मक नहीं"। – casperOne

उत्तर

4

एसवीजी विनिर्देश इस में क्या कहना है: http://www.w3.org/TR/SVG/styling.html#UAStyleSheet

क्या फ़ायरफ़ॉक्स और क्रोम नहीं करने के लिए समान लगता है?

+0

अच्छा एक, हालांकि (मेरे उत्तर के अनुसार) क्रोम और एफएफ दोनों एक ही थोड़ा संशोधित संस्करण का उपयोग करते हैं। (शायद इसके आसपास इरेटा है?) इस प्रकार इसका तात्पर्य है कि आईई इस यूए शीट को गलत नहीं था। हालांकि, यह मेरे लिए पूरी तरह से स्पष्ट नहीं करता है क्यों 'अतिप्रवाह: दृश्यमान' क्रोम/एफएफ में बहने वाले पथ का कारण नहीं बनता है। यह शायद एक अलग सवाल है, लेकिन एसवीजी के 'सीमा' को प्रस्तुत करने की अपेक्षा क्या है? सीमाएं कभी भी 'ऊंचाई' और 'चौड़ाई' से अधिक हो जाएंगी? – Phrogz

+0

[यह चर्चा] (http://lists.w3.org/Archives/Public/public-svg-wg/2008JulSep/0344.html) प्रासंगिक है। – Phrogz

+0

इसे इंगित करने के लिए धन्यवाद। ऐसा लगता है कि शायद एसवीजी नेमस्पेस तत्वों के लिए डिफ़ॉल्ट आवश्यक स्टाइलशीट में एक संघर्ष + ऊपर नियम 7 के साथ संघर्ष करता है + http://www.w3.org/TR/SVG/styling.html#Scope? –

4

आपके मूल उत्तर को आपके द्वारा निर्दिष्ट आधारों का उपयोग करके मुझे लगता है (विशेष रूप से the spec का पांचवां और सातवां बुलेट बिंदु)।

यह अविश्वसनीय रूप से असंभव लगता है कि आईई सही है और वेबकिट और फ़ायरफ़ॉक्स नहीं हैं। हालांकि, जैसा कि आपको संदेह है कि सातवें बुलेट बिंदु भिन्नता कारक है।

आप Chrome में this test case लोड और एसवीजी निरीक्षण करने के लिए डेवलपर टूल का उपयोग करते हैं, तो आप देखेंगे:

(user agent stylesheet)

svg:not(:root), symbol, image, marker, pattern, foreignObject { 
    overflow: hidden; 
} 

लिए सक्षम "दिखाएँ उपयोगकर्ता एजेंट सीएसएस हैं "फायरबग में आप फ़ायरफ़ॉक्स में यह नियम देखते हैं:

svg.css (line 49) <System>

svg:not(:root), symbol, image, marker, pattern, foreignObject { 
    overflow: hidden; 
} 

अंत में, आप परीक्षण का मामला svg { overflow:hidden } तो आईई नेत्रहीन अन्य ब्राउज़रों से मेल खाता जोड़ने के लिए संपादित करता है, तो।

इस प्रकार, यह मेरे लिए प्रतीत होता है कि सभी तीन ब्राउज़रों कल्पना के अनुसार बर्ताव कर रहे हैं, लेकिन क्रोम/सफारी/एफएफ सभी यूए नियम है कि और अधिक बारीकी से क्या अधिकांश उपयोगकर्ताओं उम्मीद करेंगे मिलान नहीं करता।

अगर मैं अकेले अकेले छोड़ सकता हूं, तो यह वह जगह है जहां मैं यह जवाब रोकूंगा।

हालांकि, यदि आप edit the test case to add svg { overflow:visible }, तो क्रोम और फ़ायरफ़ॉक्स दोनों ओवरफ्लोल्ड सामग्री को 'ठीक से' नहीं दिखाते हैं। मुझे यकीन नहीं है कि इस डेटा के बाकी हिस्सों के साथ इस डेटा बिंदु को कैसे हल करें। :/

+1

राय (उत्तर नहीं): क्रोम और फ़ायरफ़ॉक्स के व्यवहार के बिना, यह संकेत है कि ' 'को संपूर्ण सामग्री के बाध्यकारी बॉक्स को ढूंढना होगा और प्रति विश्व इकाई 4px पर एसवीजी की पूर्ण सामग्री प्रस्तुत करना होगा। यह एक एसवीजी से जो भी मैं चाहता हूं उससे इतना विपरीत है, मुझे लगता है कि प्रस्तुत करने के लिए एसवीजी सामग्री के विस्तार को परिभाषित करने वाला एक नमूना होना चाहिए। और मुझे संदेह है कि आईई 9 ने इस स्पेक को याद किया है या गलत व्याख्या किया है (जो मुझे नहीं मिल रहा है)। – Phrogz

+0

विस्तृत उत्तर के लिए धन्यवाद। (यह भी राय) मैं सहमत हूं कि ज्यादातर लोग, विशेष रूप से बाइनरी छवियों और छवि टैग से अधिक परिचित, एक एसवीजी छवि डिफ़ॉल्ट रूप से ओवरफ़्लो की अपेक्षा नहीं करेंगे। @ रॉबर्ट का लिंक ऊपर डिफ़ॉल्ट UA की तुलना करते समय रोशनी के लिए सत्तारूढ़ संघर्ष में एक दिलचस्प संघर्ष लाता है ** ** ** लागू किया जाना चाहिए बनाम नियम 7 (कीवर्ड एसवीजी दस्तावेज़) + http://www.w3.org/TR/SVG/styling .html # स्कोप –

+0

इसे अपने चर्चा लिंक और ऊपर दिए गए UA स्टाइलशीट लिंक के साथ सभी को एक साथ रखने के बाद, मैं देखता हूं कि IE9 त्रुटि में है। नियम 7 लागू होता है, एक अलग नियम के रूप में नहीं, बल्कि 'ओवरफ्लो' में सभी नियमों के साथ संयुक्त रूप से चेतावनी के रूप में लागू होता है कि व्यूपोर्ट्स के लिए डिफ़ॉल्ट शैली 'ओवरफ़्लो: छुपा' है। –

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