2013-08-24 6 views
6

मैं <input type="text"> पर क्रॉस-ब्राउज़र placeholder समर्थन के लिए टेक्स्ट ओवरले करने का प्रयास कर रहा हूं)। मैंने पाया है कि मेरी स्थिति हमेशा कुछ पिक्सल से बंद होती है, क्योंकि किसी प्रकार की पैडिंग जिसे padding: 0; सेट करके हटाया नहीं जा सकता है। सुझाव here और here समस्या का समाधान नहीं करते हैं।टेक्स्ट इनपुट में अतिरिक्त पैडिंग क्यों होती है?

आप नीले प्रकाश डाला और पीले रंग की सीमा के बीच सफेद स्थान के रूप में क्रोम से निम्न स्क्रीनशॉट में इस गद्दी देख सकते हैं,:

enter image description here

मैं एक) इस स्थान को हटा सकते हैं कैसे; या बी) जावास्क्रिप्ट का उपयोग कर इसे मापें?

+0

क्या आपने सीएसएस रीसेट करने की कोशिश की है? – j08691

+0

यदि आप एक पूर्ण सीएसएस रीसेट से निपटना नहीं चाहते हैं (जो लगभग सभी मामलों में अनावश्यक है) तो आपको [Normalize.css] (http://necolas.github.io/normalize.css/) जैसे कुछ का उपयोग करने पर विचार करना चाहिए (जो लगभग सभी मामलों में अनावश्यक है) । – mc10

उत्तर

2

आप अपने खुद के साथ डिफ़ॉल्ट सीमाओं की जगह है, तो गद्दी (, कम से कम मेरे लिए पर क्रोम/मैक) गायब हो जाता:

input { 
    padding: 0; 
    outline: none; 
    border: 1px solid red; 
} 
:

enter image description here

यह सीएसएस मैं प्रयोग किया जाता है

http://jsfiddle.net/NZZ5B/

+1

यह क्रोम 29.0.1547.57 में मेरे लिए काम करता है। इसका कारण यह है कि क्रोम एक 2 पीएक्स इन्सेट सीमा पर चूक जाता है, जिसमें एक सिंगल पिक्सेल की तरह दिखने का प्रभाव होता है, –

+0

रिक्ति के अतिरिक्त पिक्सेल के साथ ठोस सीमा! यह क्रोम, फ़ायरफ़ॉक्स (जो शुरू करने के लिए ठीक था) के नवीनतम संस्करणों में काम करता है, और सफारी, साथ ही आईई 8 और 9, लेकिन ओपेरा और आईई 10 में नहीं। कोई विचार क्यों? –

+0

@ 1 '' क्या आपने पैडिंग रीसेट किया था, मार्जिन भी? और क्या आपने सीमा-बॉक्स बॉक्स मॉडल सेट करने का प्रयास किया था? – bfavaretto

-1

आपको सबकुछ रीसेट करने की आवश्यकता है। तो इसका उपयोग करने की सबसे अच्छी सिफारिश है:

<style> 
html, body { 

    margin: 0; 
    padding: 0; 

} 
</style> 

आशा है कि इससे मदद मिलेगी।

+0

यह काम नहीं करता है, हालांकि यह आमतौर पर इस तरह की समस्याओं का एक अच्छा समाधान है। –

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