मैं इसे पूरा करने की कोशिश कर रहा एक समय की एक बिल्ली थी। मैं एक फ्लैश समाधान का उपयोग नहीं करना चाहता था, और मैंने जिन jQuery पुस्तकालयों को देखा, उनमें से कोई भी सभी ब्राउज़रों में विश्वसनीय नहीं था।
मैं अपने स्वयं के समाधान के साथ आया था, जो सीएसएस में पूरी तरह से लागू किया गया है (बटन पर क्लिक करने के लिए ऑनक्लिक शैली परिवर्तन को छोड़कर 'क्लिक')।
आप यहां एक काम करने के उदाहरण की कोशिश कर सकते हैं: http://jsfiddle.net/VQJ9V/307/ (FF 7, IE 9, सफारी 5, ओपेरा 11 और क्रोम 14 में परीक्षण)
यह एक बड़ा फ़ाइल इनपुट (फ़ॉन्ट-आकार: 50 पीएक्स के साथ) बनाकर काम करता है, फिर इसे एक ऐसे डिव में लपेटता है जिसमें एक निश्चित आकार और अतिप्रवाह होता है: छिपा हुआ। इनपुट तो केवल इस "विंडो" div के माध्यम से दिखाई देता है। Div को एक पृष्ठभूमि छवि या रंग दिया जा सकता है, पाठ जोड़ा जा सकता है, और div पृष्ठभूमि को प्रकट करने के लिए इनपुट को पारदर्शी बनाया जा सकता है:
HTML:
<div class="inputWrapper">
<input class="fileInput" type="file" name="file1"/>
</div>
सीएसएस:
.inputWrapper {
height: 32px;
width: 64px;
overflow: hidden;
position: relative;
cursor: pointer;
/*Using a background color, but you can use a background image to represent a button*/
background-color: #DDF;
}
.fileInput {
cursor: pointer;
height: 100%;
position:absolute;
top: 0;
right: 0;
z-index: 99;
/*This makes the button huge. If you want a bigger button, increase the font size*/
font-size:50px;
/*Opacity settings for all browsers*/
opacity: 0;
-moz-opacity: 0;
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0)
}
मुझे बताएं कि क्या इसमें कोई समस्या है और मैं उन्हें ठीक करने की कोशिश करूंगा।