如何在焦点上更改占位符颜色?

问题描述 投票:52回答:8

如何在聚焦输入字段时更改占位符的颜色?我用这个css来设置默认颜色,但是如何在焦点上更改它?

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

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

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

/* Internet Explorer 10 */
:-ms-input-placeholder { color: #999; }
html css colors focus placeholder
8个回答
103
投票

试试这个,这应该工作:

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/


5
投票

除了Pranav的答案,我还使用textarea兼容性改进了代码:

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

:focus::-webkit-input-placeholder { color: #ccc; }
:focus:-moz-placeholder { color: #ccc; }​

1
投票

试试这个:

HTML

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

CSS

input[placeholder]:focus { color: red; }

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; }

1
投票

使用明星*选择一切

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


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


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


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

1
投票

以下对我有用:

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

0
投票

从Firefox 19:删除了匹配带有占位符属性的表单元素的-moz-placeholder伪类,并添加了:: - moz-placeholder伪元素。

input:focus::-moz-placeholder { color: transparent; }

-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/

© www.soinside.com 2019 - 2024. All rights reserved.