Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firefox input placeholder padding issue

Why Firefox not taking padding for Placeholder text. see example here http://jsfiddle.net/JfrfZ/

How to fix it?

HTML

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

CSS

#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; }
like image 555
Jitendra Vyas Avatar asked Jan 09 '12 20:01

Jitendra Vyas


People also ask

How do you style placeholder text?

Use the ::placeholder pseudo-element to style your placeholder text in an <input> or <textarea> form element. Most modern browsers support this, but for older browsers, vendor prefixes will be required.


1 Answers

You’ll need to use the ::-moz-placeholder psuedo-element (formerly :moz-placeholder).

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

There used to be a bug in Firefox that prevented padding from working on text inputs. So text-indent was the way to go if you needed to use percentages.

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

But the bug was fixed on 2012-08-28 and included in Firefox 17. There is no longer a need to use text-indent.

like image 174
Brett DeWoody Avatar answered Sep 18 '22 14:09

Brett DeWoody