HTML5 有一个称为占位符的属性。
在 <input> 和 <textarea> 元素上使用的此属性向用户提供了可以在字段中输入的内容的提示。
如何设置占位符文本的颜色
在大多数浏览器中,占位符文本的默认颜色是浅灰色。
如果要更改它,则需要使用 ::placeholder 伪元素。
请注意,Firefox 为占位符添加了较低的不透明度,因此请使用 opacity: 1;要解决这个问题。
如果我们想在显示占位符文本时选择输入本身,请使用 :placeholder-shown 伪类。
代码示例如下所示。
更改占位符文本颜色的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
input {
width: 90%;
padding: 10px;
margin: 5px;
outline: none;
}
input[type="submit"] {
width: 150px;
}
input::placeholder {
color: #1c87c9;
opacity: 1;
}
input:placeholder-shown {
border: 1px solid #095484;
}
</style>
</head>
<body>
<form action="/form/submit" method="post">
First name:
<input type="text" name="firstname" placeholder="John">
<br>
<br> Last name:
<input type="text" name="lastname" placeholder="Lennon">
<br>
<br> Email address:
<input type="email" name="email" placeholder="YourEmail@gmail.com">
<input type="submit" value="Submit" />
</form>
</body>
</html>
我们还可以更改文本颜色,它将填充占位符的位置。
为此,为每个 <input> 元素定义一个类并为其设置样式。
为占位符文本设置不同颜色的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
input {
padding: 10px;
margin: 5px;
width: 90%;
}
input[type="submit"] {
width: 100px;
}
.one {
color: #8ebf42;
}
.two {
color: #ff0066;
}
.three {
color: #1c87c9;
}
.one::placeholder {
color: #1c87c9;
}
.two::placeholder {
color: #ff0000;
}
.three::placeholder {
color: #8ebf42;
}
input:placeholder-shown {
border: 1px solid #095484;
}
</style>
</head>
<body>
<form action="/form/submit" method="post">
First name:
<input class="one" type="text" name="firstname" placeholder="John">
<br>
<br> Last name:
<input class="two" type="text" name="lastname" placeholder="Lennon">
<br>
<br> Email address:
<input class="three" type="email" name="email" placeholder="YourEmail@gmail.com">
<input type="submit" value="Send" />
</form>
</body>
</html>
重要的是要记住,每个浏览器都有不同的实现方式。
例如,
- ::-webkit-input-placeholder 用于 Chrome/Safari/Opera 的伪元素,
- Edge 的 ::-ms-input-placeholder 伪类(也支持 webkit 前缀)。
上述伪类和伪元素是处理所需结果所必需的。
使用一些扩展更改占位符文本颜色的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
input {
padding: 5px 10px;
}
::placeholder {
color: #1c87c9;
opacity: 1; /* Firefox */
}
:-webkit-input-placeholder {
/* Chrome, Safari, Opera */
color: #1c87c9;
}
::-ms-input-placeholder {
/* Microsoft Edge */
color: #1c87c9;
}
</style>
</head>
<body>
<form action="/form/submit" method="post">
First name:
<input type="text" name="firstname" placeholder="John">
<br>
<br> Last name:
<input type="text" name="lastname" placeholder="Lennon">
<br>
<br> Email address:
<input type="email" name="email" placeholder="YourEmail@gmail.com">
<br/>
<br/>
<input type="submit" value="Submit" />
</form>
</body>
</html>
日期:2020-06-02 22:14:59 来源:oir作者:oir
