利用CSS改变输入框的光标颜色
UED给出了一个需求,希望<input>
被选中时,将光标变为绿色。我赶紧搜索解决方案,发现思路大多是:
input {
color: #0f0;
}
这种方法的确能改变光标的默认颜色,但是负面作用是,输入的文字也变成了绿色。
幸运的是在Stack overflow上找到了一个靠谱的答案:
input,
textarea {
font-size: 24px;
padding: 10px;
color: #0f0;
text-shadow: 0px 0px 0px #000;
-webkit-text-fill-color: transparent;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder{
text-shadow: none;
-webkit-text-fill-color: initial;
}
完整代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
input,
textarea {
color: #0f0;
text-shadow: 0px 0px 0px #000;
-webkit-text-fill-color: transparent;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder{
text-shadow: none;
-webkit-text-fill-color: initial;
}
</style>
</head>
<body>
<input type="text" placeholder="test">
<p></p>
<textarea name="" cols="30" rows="10"></textarea>
</body>
</html>