2009-08-08 15 views
11

मैंने मैक ओएस एक्स ऐप्स पर देखा गया एक ही छाया सीमा प्रभाव देने के लिए हाल ही में एक पृष्ठ के एक अनुभाग में box-shadow जोड़ा। यह बहुत अच्छा लग रहा था, लेकिन मैंने देखा कि पृष्ठ पर ऊपर और नीचे स्क्रॉल करने से यह अंतराल हो गया। मैं आमतौर पर केवल उन्हीं पृष्ठों पर यह देखता हूं जिनमें परेशान पृष्ठभूमि छवियां और छवियों और एम्बेडेड वीडियो की सभी चीजें हैं (खांसी माईस्पेस खांसी)। मैंने मूल रूप से बॉक्स-छाया का उपयोग करने का फैसला किया क्योंकि मुझे लगा कि यह एक छवि का उपयोग करने की आवश्यकता को हटा देगा, जो स्क्रॉल अंतराल की किसी भी संभावना को हटा देगा।CSS3 बॉक्स-छाया संपत्ति के साथ स्क्रॉल लगाना?

मुझे पता है कि CSS3 अभी भी नया है, लेकिन क्या यह अंतराल का कारण है? छाया छाया या सॉफ्टवेयर कुछ है? जब मैं छोटे तत्वों के लिए बॉक्स छाया लागू करता हूं, तो यह बिल्कुल अंतराल नहीं होता है। मैं बस सोच रहा हूं कि किसी और ने इसका अनुभव किया है।

मैं सिर्फ स्टैक ओवरफ़्लो पहले पन्ने पर यह कोशिश की, #content div की सेटिंग के साथ Firebug के प्रयोग पर:

-moz-box-shadow: 1px 1px 10px; 

और मैं कुछ स्क्रॉल अंतराल बाद में नोटिस किया था। मैं फ़ायरफ़ॉक्स 3.5 का उपयोग कर रहा हूँ।

मेरा सवाल यह है कि, यदि मैं अपने पृष्ठ के किसी अनुभाग में मैक ओएस एक्स शैली सीमा जोड़ना चाहता हूं तो इस विशेषता का उपयोग करने के कुछ विकल्प क्या हैं?

एक तरफ नोट पर, क्या किसी को पता है कि बॉक्स के छाया को केवल तत्व के शीर्ष, बाएं और दाएं किनारे पर लागू करना संभव है, न कि नीचे? मैंने 1px -1px 10px की कोशिश की लेकिन यह अभी भी नीचे छाया दिखाता है। अगर मैं दूसरे ऑफसेट को कम करता रहता हूं, तो अंततः छाया को नीचे से हटा देता है लेकिन फिर शीर्ष छाया अब गहरा और बड़ा तरीका है।

और हाँ, मैं कम से बॉक्स छाया पर लेख देखा है:

उत्तर

11

आपका सबसे अच्छा शर्त के बजाय -moz-border-image उपयोग करने के लिए किया जाएगा। इससे आपके दोनों मुद्दों को हल करना चाहिए।

उदा। आप इस

-moz-border-image: url(shadow.png) 10/10px; 

की तरह इस, http://i28.tinypic.com/2njzkt1.png की तरह एक छवि, सीएसएस के साथ संयुक्त का उपयोग अपने छाया बनाने के लिए कर सकता है। और चूंकि आप एक छवि का उपयोग कर रहे हैं, यदि आप चाहें तो नीचे की छाया भी छोड़ सकते हैं।


आप नीचे -moz-box-shadow का उपयोग करने से छाया दूर करने के लिए सक्षम होने के लिए नहीं जा रहे हैं; इसे कुछ भी नहीं के लिए "बॉक्स छाया" कहा जाता है। यह पूरे बॉक्स में एक छाया लागू करता है। आप border के साथ अलग-अलग पक्ष के लिए एक छाया निर्दिष्ट नहीं कर सकते हैं। सबसे अच्छा आप प्लेसमेंट, धुंध और छाया के प्रसार के साथ चारों ओर बेवकूफ़ बना सकते हैं। लेकिन यह अनिवार्य रूप से विपरीत तरफ एक गहरा छाया की ओर जाता है।

मुझे स्टैक ओवरफ्लो पर कोशिश करने पर बॉक्स छाया छाया भी मिलती है। यह सफारी पर भी प्रदर्शन को प्रभावित करता है जब मैं -webkit-box-shadow का प्रयास करता हूं, हालांकि यह फ़ायरफ़ॉक्स में उतना ही ध्यान देने योग्य नहीं है। प्रदर्शन भविष्य में उम्मीद में सुधार करेगा, लेकिन मुझे लगता है कि छाया हमेशा कुछ प्रभाव से प्रभावित होगी, जहां तक ​​मुझे पता है कि सॉफ़्टवेयर प्रदान किया गया है।

+0

धन्यवाद मैं विस्तृत प्रतिक्रिया की सराहना करता हूं, मुझे यकीन है कि दूसरों को यह उपयोगी लगेगा। दुर्भाग्यवश अनुभाग (मेरी साइट का # पृष्ठ विशेषता, मेरी प्रोफ़ाइल में उपलब्ध) ने 2em के कोनों को गोल किया है, इसलिए मुझे लगता है कि यह करना बहुत मुश्किल होगा। मुझे लगता है कि मुझे आपके द्वारा प्रदान की गई एक छवि बनाने की आवश्यकता होगी, लेकिन एक पारदर्शी पृष्ठभूमि और गोलाकार कोनों के साथ भी। हालांकि धन्यवाद! जानकार अच्छा लगा। –

6

यह दो दिन पहले वेबकिट में तय किया गया है। :)

https://bugs.webkit.org/show_bug.cgi?id=22102

आप एक क्रोमियम हर रात को इसे आज़माने के लिए चुन सकते हैं।

मैंने एफएफ 3.6 और एफएफ 4 में देखा और वहां भयानक स्क्रॉल प्रदर्शन नहीं दिख रहा है, इसलिए इसे वहां भी संबोधित किया जा सकता है।

+0

कमाल, मुझे बताएं कि –

+0

अभी भी बहुत धीमा है, क्रोम 10 – reelfernandes

+0

पर यह आपके ग्राफिक्स ड्राइवर के साथ कुछ भी हो सकता है। मेरी टेस्ट मशीन (दोहरी स्क्रीन, एक लंबवत, एक क्षैतिज) पर, सफारी और फ़ायरफ़ॉक्स 4.0b7 का प्रदर्शन स्क्रीन 2 पर भयानक है, लेकिन स्क्रीन पर ठीक है 1. हालांकि फ़ायरफ़ॉक्स 4.0RC1 का उपयोग करने में कोई समस्या नहीं है। – user123444555621

0
#shadow { 
-moz-border-image: url(img.png) 10/10px; #Firefox under v15.0# 
-webkit-border-image: url(img.png) 10/10px; #Safari, Chrome under v15.0, Android & iOS# 
-o-border-image: url(img.png) 10/10px; #Opera under v15.0# 
border-image: url(img.png) 10/10px; #IE v11+, other new Browser# 
} 

पुराने और नए ब्राउज़र के लिए क्रॉस ब्राउज़र संस्करण। सरल img: http://i28.tinypic.com/2njzkt1.png

शैली : तय छवियों भी कार्यक्षमता ब्राउज़र

0

समस्या अभी भी आज की तारीख के रूप में Android के लिए Chrome में बनी रहती है ओवरलोड के लिए। कुछ बॉक्स-छाया combos के परिणामस्वरूप एक खराब स्क्रॉलिंग प्रदर्शन में परिणाम। मेरे मामले में दो इन्सेट बॉक्स-छाया (जैसे ऊपर/नीचे) स्टैकिंग वर्णित समस्या का कारण बनता है। एकमात्र समाधान जो मैं प्रदान कर सकता हूं वह है कि बॉक्स-छाया कम जटिल बनाएं और फिर कोशिश करें ... जो मेरे लिए काम करता है। यह असंतोषजनक है लेकिन हाँ इसके बजाय आप सीमा-छवि समाधान का भी उपयोग कर सकते हैं या प्रभावित बॉक्स-छाया को पूरी तरह हटा सकते हैं। उम्मीद है कि यह जल्द ही तय हो जाएगा। फ़ायरफ़ॉक्स के एंड्रॉइड वर्जन में अब समस्याएं नहीं हैं (मेरे सीएसएस 3 के लिए)। इसके अलावा मेरे ब्राउज़र में दोनों ब्राउज़रों के डेस्कटॉप संस्करण प्रभावित नहीं हैं।

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