CSS Tips
改变输入框光标颜色
-
caret-color
属性不仅对input
和textarea
有效,对设置了contenteditable
属性的 HTML 标签也同样适用1
2
3
4
5
6input,
textarea,
[contenteditable] {
color: #333; /* 文本颜色 */
caret-color: #03a9f4; /* 光标颜色 */
} 模拟光标
caret-color
属性的兼容性不是很理想,对于不支持的浏览器,可以做兼容处理color
指定光标颜色,然后通过::first-line
伪元素增加优先级设置文字颜色。这种写法也存在兼容问题对
textarea
元素无效win10 下 Edge 浏览器无效
1
2
3
4
5
6
7
8
9
10input,
texxarea,
[contenteditable] {
color: #03a9f4;
&::first-line {
color: #333;
}
}兼容性写法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19input,
texxarea,
[contenteditable] {
color: #03a9f4;
&::first-line {
color: #333;
}
}
@supports (caret-color: #03a9f4) {
input,
textarea,
[contenteditable] {
color: #333; /* 文本颜色 */
caret-color: #03a9f4; /* 光标颜色 */
}
}