更改占位符不透明度

fig*_*r20 3 html css forms input

我正在改变这样的输入字段的不透明度......

<body>
    <form>
        <input type="text" name="fname" placeholder="First name"><br>
    </form>
</body>

body{background:black}
input{height:30px;opacity:.5;}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/hbakrvnv/

这有效,但它也会改变占位符的不透明度。如何在 50% 不透明度输入字段的顶部将占位符文本保持为白色?

mor*_*a13 6

您可以在 WebKit 浏览器中使用此方法:

body{background:black}
input{height:30px;opacity:.5;}
input::-webkit-input-placeholder {
     color: black; /*Change the placeholder color*/
     opacity: 0.5; /*Change the opacity between 0 and 1*/
}
Run Code Online (Sandbox Code Playgroud)
<body>
    <form>
        <input type="text" name="fname" placeholder="First name"><br>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 IE10(或更高版本),则无法更改不透明度,如 Internet Explorer 开发中心所述:单击此处

JSFiddle:http : //jsfiddle.net/hbakrvnv/4/

编辑:修复了 CSS 错误


and*_*mel 5

从 2017 年开始,你可以::placeholder像这样使用 CSS 伪元素

::placeholder {
  color: green;
}

.force-opaque::placeholder {
  opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)