2012-03-26 31 views
5

कोई भी जानता है कि पारदर्शी पृष्ठभूमि पीएनजी छवि पर अभी तक एक सीएसएस आधारित ड्रॉप छाया बनाने के लिए संभव है?पारदर्शी पृष्ठभूमि पीएनजी छवि पर एक सीएसएस छाया बनाने के लिए संभव है?

शायद CSS3, jquery या आखिरी सर्वर पक्ष के साथ?

मैं क्या हासिल करने के लिए कोशिश कर रहा हूँ के प्रभाव के बाद उदाहरण:

Example

सुंदर यकीन है कि अगर यह संभव है यह पार ब्राउज़र लेकिन अगर यह अच्छी तरह से खराब हो लागू करने के लिए तैयार नहीं होगी?

आप इनपुट, खुले तकनीक चर्चा जोड़ने के लिए स्वतंत्र महसूस ..

+0

मैं यह संभव होने की कल्पना नहीं कर सकते हैं यहाँ लेख है। ब्राउज़र को कैसे पता चलेगा कि छवि का मुखौटा छाया को कास्ट करना है? – MetalFrog

+0

क्या यह ट्यूटोरियल से छवि नहीं है कि आप यहां क्या पूछ रहे हैं: http://lineandpixel.com/blog/png-shadow? –

+1

संभावित डुप्लिकेट: http://stackoverflow.com/questions/3186688/drop-shadow-for-png-image-in-css – RozzA

उत्तर

0

सीएसएस पता नहीं क्या छवि के आकार है, इसलिए रूपरेखा निर्धारित नहीं कर सकता और यह करने के लिए एक छाया लागू नहीं कर सकते है।

आप जेड-इंडेक्स, दिशात्मक ऑफसेट और कुछ अस्पष्टता का उपयोग करके छवि की एक काला प्रतिलिपि बना सकते हैं और इसे पीछे रख सकते हैं। यह इसके बारे में।

+0

इससे पहले कि मैं केवल 2 छवियों का उपयोग एक पीएनजी में छाया बनाने के लिए करता हूं, तो मैं छाया को बेहतर बनाता हूं सीधे पीएनजी में। –

+0

हाँ, यह वास्तव में उस बिंदु पर कोई फर्क नहीं पड़ता। हालांकि आप इसे क्लाइंट-एंड पर हल नहीं कर सकते हैं। आपको सर्वर-साइड समाधान देखने की आवश्यकता है। –

+0

@diodeus मुझे लगता है कि आप छवि को ब्लॉब के रूप में प्राप्त कर सकते हैं और जावास्क्रिप्ट के साथ डेटा पर काम कर सकते हैं, इसलिए मैं नहीं कहूंगा "नहीं कर सकता", लेकिन अधिक संभावना है "नहीं चाहते" ... :) – Christoph

0

नहीं, यह संभव नहीं है। यहां तक ​​कि जब पृष्ठभूमि पारदर्शी होती है, तब भी आपकी छवि एक आयत है और छाया चारों ओर सीमा पर लागू की जाएगी।

आप क्या कर सकते हैं पीएनजी में सीधे ग्राफिकल छाया डालना। यह पारदर्शी पृष्ठभूमि पर बहुत अच्छा काम करता है।

1

मुझे पता है कि जीडी PHP लाइब्रेरी का उपयोग करना संभव है। इस ट्यूटोरियल की जाँच करें:

http://www.codewalkers.com/c/a/Miscellaneous/Adding-Drop-Shadows-with-PHP/

मुझे लगता है कि होता है कि एक PHP समाधान का उपयोग किया जाएगा ब्राउज़रों में सबसे संगत।

8

हाँ! CSS3 में एक पारदर्शी .png पर छाया करना संभव है! मुझे इसे एक परियोजना में जरूरी था जो आईई 10 में जंक की तरह दिख रहा था। बॉक्स-छाया का उपयोग करने के बजाय, फ़िल्टर का उपयोग करें: ड्रॉप-छाया()। वाक्यविन्यास काफी समान है। link

अंतिम समाधान यह है (जैसा भी मामला लिंक टूट जाता है में):

.filter-drop-shadow { 
    -webkit-filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); 
    -moz-filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); 
    -ms-filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); 
    -o-filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); 
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); 
} 
+1

आआंद मैंने इसे पाया! बॉक्स-छाया का उपयोग करने के बजाय, फ़िल्टर का उपयोग करें: ड्रॉप-छाया()। वाक्यविन्यास काफी समान है। यहां लेख है: [लिंक] (http://bricss.net/post/33158273857/box-shadow-vs-filter-drop-shadow) –

+0

आपकी टिप्पणी आपके उत्तर को अधिक मूल्यवान है। आपको जवाब संपादित करना चाहिए, क्योंकि यह वास्तव में मदद नहीं करता है (टिप्पणी के बिना)। – looper

+0

हो गया। पारितोषिक के लिए धन्यवाद। –

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