71

入力フィールドにフォーカスがあるときにプレースホルダーの色を変更するには? この css を使用してデフォルトの色を設定しますが、フォーカス時に変更するにはどうすればよいですか?

::placeholder { color: blue; }

::-webkit-input-placeholder { color: blue; }

/* Firefox < 19 */
:-moz-placeholder { color: blue; }

/* Firefox > 19 */
::-moz-placeholder { color: blue; }

/* Internet Explorer 10 */
:-ms-input-placeholder { color: blue; }
4

10 に答える 10

131

これを試してください、これはうまくいくはずです:

input::-webkit-input-placeholder {
    color: #999;
}
input:focus::-webkit-input-placeholder {
    color: red;
}

/* Firefox < 19 */
input:-moz-placeholder {
    color: #999;
}
input:focus:-moz-placeholder {
    color: red;
}

/* Firefox > 19 */
input::-moz-placeholder {
    color: #999;
}
input:focus::-moz-placeholder {
    color: red;
}

/* Internet Explorer 10 */
input:-ms-input-placeholder {
    color: #999;
}
input:focus:-ms-input-placeholder {
    color: red;
}

例を次に示します: http://jsfiddle.net/XDutj/27/

于 2012-11-01T18:47:12.017 に答える
5

Pranav の回答に加えて、テキストエリアとの互換性を考慮してコードを改良しました。

::-webkit-input-placeholder { color: #999; }
:-moz-placeholder { color: #999; }

:focus::-webkit-input-placeholder { color: #ccc; }
:focus:-moz-placeholder { color: #ccc; }​
于 2012-11-01T20:06:55.473 に答える
1

私はJQueryでこの解決策を見つけました:

 $('input[type="text"]').each(function(){

    $(this).focus(function(){
      $(this).addClass('input-focus');
    });

    $(this).blur(function(){
      $(this).removeClass('input-focus');
    });

  });

このCSSで:

.input-focus::-webkit-input-placeholder { color: #f00; }    
.input-focus:-moz-placeholder { color: #f00; }
.input-focus:-ms-input-placeholder { color: #f00; }
于 2012-11-01T18:56:44.867 に答える
1

これを試して:

HTML

<input type='text' placeholder='Enter text' />

CSS

input[placeholder]:focus { color: red; }
于 2012-11-01T18:37:52.583 に答える
1

スター*を使用してすべてを選択します

*::-webkit-input-placeholder { color: #999; }


*:-moz-placeholder { color: #999; }


*::-moz-placeholder { color: #999; }


*:-ms-input-placeholder { color: #999; }
于 2014-10-02T00:56:49.053 に答える
0

Firefox 19から:フォーム要素をプレースホルダー属性と一致させる:-moz-placeholder疑似クラスが削除され、代わりに::-moz-placeholder疑似要素が追加されました。

input:focus::-moz-placeholder { color: transparent; }
于 2013-02-23T21:23:12.387 に答える
-1

入力フィールドがフォーカスされたときに上に縮小するマテリアル デザインのアニメーション プレースホルダーを作成できます。

<div class="field">
 <input type="text" name="user" required><br>
 <label>Enter Username</label>
 </div>

基本的に、ラベル フィールドはプレースホルダーのように機能します。これは、css を使用してのみ行うことができます。ここで説明http://www.voidtricks.com/create-material-design-animated-placeholder/

于 2015-10-26T12:17:53.593 に答える