2012-02-05 17 views
7

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

सीएसएस:

<style type="text/css"> 
    .upload { 
     position:relative; 
    width:100px; 
    } 

    .realupload { 
    position:absolute; 
    top:0; 
    right:0; 
    opacity:0.5; 
    -moz-opacity:0.5; 
    filter:alpha(opacity:0.5); 
    z-index:2; 
    width:100px; 
    } 

    form .fakeupload { 
    background: url(images/bglines.png); 
    } 

    form .fakeupload input { 
    width:0px; 
    } 

    </style> 

और एचटीएमएल:

<form> 
    <li class="upload"> 
    <div class="fakeupload"> 
     <input type="text" name="fakeupload" style="opacity: 0;"/> 
    </div> 
    <input type="file" name="upload" id="realupload" class="realupload" onchange="this.form.fakeupload.value = this.value;" style="font-size: 5px;" /> 
    </li> 
    </form> 
+0

आप टेक्स्ट इनपुट फ़ील्ड क्यों रख रहे हैं फ़ाइल इनपुट फ़ील्ड के शीर्ष? शायद आपकी समस्या पूरी तरह से। – Scott

+0

इनपुट की जगह बदलने से कोई फर्क नहीं पड़ता :( – Kalreg

उत्तर

-1

"छवि" इनपुट प्रकार का उपयोग कर की कोशिश?

अन्यथा आपको डिस्प्ले सेट करना सुनिश्चित करना होगा: इनपुट बटन पर ब्लॉक पैरामीटर।

+0

मैं "इनपुट फ़ाइल" के साथ अपलोड फाइलें कर रहा हूं, इसलिए मुझे लगता है कि "इनपुट छवि" मुझे मदद नहीं कर सकती। डिस्प्ले: ब्लॉक भी मेरे लिए काम नहीं कर रहा है, हालांकि मैं कुछ गलत कर रहा हूं। अगर आपको डिस्प्ले के साथ समाधान का कोई विचार है: ब्लॉक मैं कुछ उदाहरण स्रोत कोड की सराहना करता हूं। – Kalreg

+0

"छवि" सबमिट बटन को प्रतिस्थापित करने का एक तरीका है, फाइल नहीं इनपुट – Rafael

0

यह संभव है कि विकृत HTML समस्या है। - आपके पास ली टैग के बाहर फॉर्म टैग नहीं हो सकते हैं।

यह मेरे लिए ठीक काम करने के लिए ..... Demo here

+0

हां यह काम करता है लेकिन यह समस्या का समाधान नहीं करता है। इसे जांचें: [लिंक ] (http://jsfiddle.net/a4Jtz/4/) - मैं पूरे लाल क्षेत्र को क्लिक प्रभाव के कारण चाहता हूं और फ़ाइलों को ब्राउज़ करना शुरू कर दूंगा।विशेष रूप से 'इनपुट फ़ाइल' बटन (पथ इनपुट) का हिस्सा छोड़ दिया। अब मेरे लिए सबसे अच्छा विचार है कि एक फ़ाइल इनपुट न करें, लेकिन उदाहरण के लिए स्क्वायर एरिया क्लिक करने योग्य बनाने के लिए 3 फ़ाइल इनपुट एक दूसरे के नीचे इनपुट करें .. – Kalreg

+0

क्षमा करें मुझे आपकी समस्या बिल्कुल नहीं दिखाई दे रही है। पूरा क्षेत्र क्लिक पढ़ता है। – Scott

+0

अजीब - मेरे लिए केवल 'इनपुट फ़ाइल' क्षेत्र ब्राउज़िंग प्रभाव (पारदर्शिता के साथ) का कारण बनता है। क्लिक करते समय पारदर्शी इनपुट फ़ाइल के बिना लाल क्षेत्र कुछ भी नहीं करता है। मैं फ़ायरफ़ॉक्स 10.0 का उपयोग करता हूं - शायद यह समस्या है कि हमारे पास अलग-अलग ब्राउज़र हैं? – Kalreg

10

हम एक ऐसी ही मामला था लगता है।

यह सुपर सुरुचिपूर्ण लेकिन इसके बजाय एकाधिक फ़ाइल इनपुट डालने की नहीं आप निम्नलिखित के रूप में की कोशिश कर सकते है:

  • इनपुट की font-size वृद्धि हुई मूल सेट बटन
  • की चौड़ाई बढ़ाने के लिए रिश्तेदार तत्व अतिप्रवाह: छिपा
  • (वैकल्पिक) सेट ऊंचाई 100%
में

के रूप में (स्कॉट डेमो के आधार पर)

केवल फ़ायरफ़ॉक्स

पर काम करता है
+0

सीएसएस भी आईई 8 के लिए काम करता है! महान सुझाव। – kernel

0

इनपुट प्रकार फ़ाइल बटन क्लिक करने योग्य क्षेत्र छोटा करने के लिए आप इस का उपयोग करने की कोशिश कर सकते हैं:

form .fakeupload input { 
    width:20px; 
    transform: scale(0.23,1); 
} 

यह इनपुट प्रकार फ़ाइल के क्लिक करने योग्य क्षेत्र को संकीर्ण कर देगा। (आप ट्रांसफॉर्म: स्केल (एक्स, वाई) का उपयोग कर सकते हैं - x और y संख्या के साथ आपकी आवश्यकता फिट बैठ जाएगी। मोबाइल डिवाइस या विभिन्न ब्राउज़रों के लिए उचित स्टाइल जोड़ने के लिए याद रखें।

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