caret-color属性可自定义输入框光标颜色,支持颜色名称、十六进制、RGB等值,适用于input、textarea等可编辑元素,提升表单美观性与可读性。

在网页中,输入框的光标(也叫插入符)默认是黑色或深色的,但你可以通过 CSS 的 caret-color 属性来自定义它的颜色,让表单更美观或符合设计风格。
什么是 caret-color
caret-color 是一个 CSS 属性,专门用于设置文本输入框中闪烁光标的颜色。它不会影响文本颜色,只控制光标。
这个属性适用于所有可编辑元素,比如 、 以及设置了 contenteditable="true" 的元素。
基本语法和用法
使用方式很简单,直接在 CSS 中为输入元素设置该属性即可:
立即学习“前端免费学习笔记(深入)”;
input {caret-color: red;
}
支持的颜色值包括:
- 颜色名称:如 red、blue、green
- 十六进制:如 #00ff00
- RGB/RGBA:如 rgb(255, 0, 0) 或 rgba(0, 0, 255, 0.5)
- HSL/HSLA:如 hsl(120, 100%, 50%)
- 特殊值:auto(默认值,通常为文本颜色)
实际应用示例
假设你有一个浅色背景的输入框,黑色光标可能看不清:
input.light-bg {background: #f0f0f0;
color: #333;
caret-color: #000; /* 黑色光标 */
}
换成深色背景时,可以改成亮色光标:
input.dark-bg {background: #333;
color: #fff;
caret-color: #0ff; /* 青色光标,更醒目 */
}
也可以设置为透明,让光标不可见(慎用):
input.no-caret {caret-color: transparent;
}
浏览器兼容性注意事项
caret-color 在现代浏览器中支持良好,包括 Chrome、Edge、Firefox、Safari 和 Opera 的较新版本。
如果你需要兼容老旧浏览器(如 IE),它将被忽略,光标会保持默认颜色,不会破坏布局。
可以在项目中放心使用,建议配合其他样式一起优化输入体验。
基本上就这些,不复杂但容易忽略的小技巧。试试给你的输入框换个光标颜色吧!










