आप सीएसएस के साथ एक फ़ाइल इनपुट बटन शैली नहीं बना सकते हैं। यह एकमात्र तत्व नहीं है जिसे आप शैली नहीं बना सकते। कुछ अन्य इनपुट शैलियों को स्वीकार नहीं कर रहे हैं। कई प्रकार के इनपुट देखने के लिए इस fiddle पर देखें। आपके ब्राउज़र के आधार पर कुछ इनपुट अलग-अलग होते हैं। रेंज इनपुट या डेट इनपुट जैसे इनपुट ओएस लेवल यूआई का उपयोग कर रहे हैं जो सीएसएस द्वारा संपादन योग्य नहीं है।
आप क्या कर सकते हैं फ़ाइल इनपुट को छिपा रहा है और एक अन्य तत्व दिखा रहा है जैसे एक div या अन्य इनपुट जो आपके फ़ाइल इनपुट के रूप में बटन प्रकार इनपुट जैसे स्टाइल को स्वीकार कर रहा है और ट्रिगर ट्रिगर क्लिक करें और सबमिट करें (एंटर दबाएं) अपने छुपे हुए वास्तविक पर ईवेंट फ़ाइल इनपुट
कोड उदाहरण:
एचटीएमएल
<input type="file" />
<label>Select file to upload: <input type="button" /></label>
सीएसएस
input[type="file"]{visibility:hidden; width:0;}
जावास्क्रिप्ट:
var fileInput = document.querySelectorAll('input[type="file"]')[0],
fakeFileInput = document.querySelectorAll('label')[0],
clickEvent = document.createEvent('MouseEvent');
clickEvent.initMouseEvent('click',true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);
fakeFileInput.addEventListener('click', function(event){
fileInput.dispatchEvent(clickEvent);
}, false);
fiddle in action
पर देखो
तो आपके प्रश्न का उत्तर यह है: नहीं, अफसोस की बात है कि आप फ़ाइल इनपुट इनपुट शैली नहीं कर सकते हैं!
उस बटन के काम के लिए सीएसएस क्लास लागू नहीं कर रहा है? –
उस बटन में कक्षा कैसे जोड़ें? दरअसल ब्राउज़र पर गतिशील रूप से बटन उत्पन्न होता है। –