You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTML/CSS中修改文本光标颜色 解决深色背景下光标不可见问题

解决方法

CSS提供了专门控制文本插入光标颜色的属性caret-color,直接添加到你的.PreCode样式规则中即可。比如你需要红色光标,修改后的样式如下:

<style>
    .PreCode {
         font-family: Georgia, 'Times New Roman', Times, serif;
         font-size: initial;
         color: rgb(28,26,26);
         background-color: grey;
         border: 1px solid black;
         text-transform: capitalize;
         font-weight: 100;
         margin-top: 20px;
         text-align: center;
         padding: 10px;
         /* 自定义文本光标颜色 */
         caret-color: red;
         }
</style>

补充说明

  • caret-color支持所有CSS合法颜色格式,你可以根据背景对比度自由调整,比如用caret-color: #fff;设置白色光标也可以。
  • 该属性所有现代浏览器都原生支持,不需要加任何私有前缀。
  • 如果你的div还没有开启编辑功能,需要给标签加上contenteditable="true"属性才能正常触发输入光标,示例如下:
<div class="PreCode" contenteditable="true">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nulla necessitatibus dolorem suscipit. Quibusdam dolorem eos sunt voluptate neque, unde expedita, error modi, assumenda quisquam repudiandae iste provident rerum vel blanditiis.
</div>
  • 如果你需要兼容非常老旧的浏览器版本,也可以直接调整.PreCode的color属性,光标默认会继承文本颜色,不过该方案会同时修改文本显示颜色,可根据需求选择。

内容的提问来源于stack exchange,提问作者Amaan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:36:01