2012-01-09 14 views
5

क्यों फ़ायरफ़ॉक्स प्लेसहोल्डर टेक्स्ट के लिए पैडिंग नहीं ले रहा है। यहाँ http://jsfiddle.net/JfrfZ/फ़ायरफ़ॉक्स इनपुट प्लेसहोल्डर पैडिंग समस्या

उदाहरण इसे कैसे ठीक करें देखते हैं?

एचटीएमएल

<form method="get" action="/search" id="search"> 
    <input name="q" type="text" size="40" placeholder="Search..." /> 
</form> 

सीएसएस

#search input[type="text"] { 
      background: url(../img/search-icon.png) no-repeat 2.6% 50% #fcfcfc; 
       background-size: 6%; 
       border: 1px solid #d1d1d1; 
       font: normal 1.7em Arial,Helvetica,Sans-serif; 
       color: #bebebe; 
       width: 33%; 
       padding: 0.6% 2%; 
       border-radius: 3em; 
       text-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); 
       box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) inset; 
       padding-left: 3.8%; 
       outline: 0; } 
+1

में padding: 0.6% 2%; जोड़ने की जरूरत है - इस से संबंधित हो सकते हैं: https://bugzilla.mozilla.org /show_bug.cgi?id=527459;) – madflow

+0

'इनपुट' के लिए फ़ायरफ़ॉक्स में प्रतिशत पैडिंग काम नहीं कर रहा है। पूर्ण मूल्य (उदाहरण के लिए पीएक्स) ठीक काम करते हैं। – 0b10011

+0

@madflow - मैंने 'em' में पैडिंग दिया लेकिन अभी भी –

उत्तर

4

आप उपयोग कर सकते text-indent

#search input[type="text"] { 
 
    background: url(../img/search-icon.png) no-repeat 2.6% 50% #fcfcfc; 
 
    background-size: 6%; 
 
    border: 1px solid #d1d1d1; 
 
    font: normal 1.7em Arial,Helvetica,Sans-serif; 
 
    color: #bebebe; 
 
    width: 33%; 
 
    padding: 0.6% 2%; 
 
    border-radius: 3em; 
 
    text-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); 
 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) inset; 
 
    padding-left: 3.8%; 
 
    outline: 0; 
 
    text-indent: 3.8% 
 
}
<form method="get" action="/search" id="search"> 
 
    <input name="q" type="text" size="40" placeholder="Search..." /> 
 
</form>

+0

em' समस्या हल हो जाती यह काम नहीं करता है। –

+0

लिंक काम नहीं किया था या समाधान काम नहीं किया है? क्योंकि मेरे लिए दोनों काम .. वैसे भी आप अपने सीएसएस में 'टेक्स्ट इंडेंट: 10%' डाल सकते हैं और देखें कि क्या होता है :) –

+0

समाधान काम नहीं किया। मेरे फ़ायरफ़ॉक्स में अभी भी बाएं से कोई जगह नहीं है। फ़ायरफ़ॉक्स को अधिक इंडेंट की आवश्यकता है। –

8

आपको the ::-moz-placeholder psuedo-element (पूर्व में :moz-placeholder) का उपयोग करने की आवश्यकता होगी।

#search input::-moz-placeholder { 
    padding: <top> <right> <bottom> <left>; 
} 

वहाँ a bug in Firefox that prevented padding from working on text inputs हुआ करता था। तो text-indent यदि आप प्रतिशत का उपयोग करने की आवश्यकता है तो जाने का तरीका था।

#search input:-moz-placeholder { 
    text-indent: 3.8%;  
} 

लेकिन बग 2012-08-28 पर तय और Firefox 17 में शामिल वहाँ नहीं रह गया है text-indent उपयोग करने के लिए एक की जरूरत है था।

2

कोशिश बदलने के लिए padding-left रहे हैं:

text-indent:3.8%; 
+0

सरल, और यह काम करता है। – Abram

0

तुम बस आप गद्दी के रूप में प्रतिशत के उपयोग से कर रहे हैं के बाद से input { }

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