一、caret-color 属性作用

caret-color : 改变输入框光标颜色,同时又不改变输入框里面的内容的颜色

caret 表示‘插入符号’,指处于内容可插入状态的光标

input{color:blue;caret-color: red;
}

caret-color 属性不仅对于原生的输入表单控件有效,设置contenteditable的普通标签也适用。
contenteditable 属性: 规定是否可编辑元素内容.

HTML:

<div contenteditable="true">文字蓝色,光标黄色</div>

CSS:

[contenteditable = "true"] {margin-left: 20px;font-size: 30px;color: blue;caret-color: yellow;
}

二、caret-color 的兼容情况

目前 Chrome 和 Firefox 基本可以使用,但是 Safari 以及 IE 浏览器则暂时还不支持。

三、解决兼容性问题

思路:

  1. Chrome 和 Firefox 使用原生的 caret-color 属性
  2. Safari 使用 :first-line 实现
  3. IE 浏览器放弃

解释:

  1. IE 浏览器的光标颜色永远是固定的黑色,并不跟随输入框的颜色 color 变化,因此对于 IE 浏览器没有好的办法;
  2. Safari 浏览器,由于输入框控件的闪烁光标颜色和设置的 color 属性颜色一致,所以可以对光标进行控制。

局限性:

  1. :first-line :在 Chrome, Safari 浏览器表现良好,但是在 Firefox 浏览器并不支持,其表现为 input 输入框里面的内容不属于 :first-line,因此整个输入框文字都是红色的。
  2. 对于 <textarea> 多行输入控件无效,因为 :first-line 只能控制首行元素颜色。
  3. 微信小程序暂不支持 :first-line 伪类。

HTML:

<input type="text" class="third" placeholder="兼容性写法">

CSS:

.third {width: 1000px;font-size: 30px;margin: 20px;box-sizing: border-box;color: red;caret-color: blue;
}@supports ( -webkit-mask: none ) and ( not ( caret-color: blue )) {.third {color: blue;}.third::first-line {color: red;}
}

四、 资料

学习资料来自张鑫旭的博客 ——CSS改变插入光标颜色caret-color简介及其它变色方法

CodePen:https://codepen.io/JiaxiaLi/pen/YOrwZP

CSS 属性:caret-color相关推荐

  1. DW中CSS属性详解

    作者:未知 来源:5D多媒体       在Dreamweaver的CSS样式里包含了W3C规范定义的所有CSS1的属性,Dreamweaver把这些属性分为Type(类型).Background(背 ...

  2. CSS属性 —— color属性

    CSS color 属性 1. color 属性 2. color 属性值 3. 十六机制颜色值 4. RGBA与十六进制转换 1. color 属性 color 属性用于指定文本颜色. 对应版本:C ...

  3. css不换行属性_那些不常见,但却非常实用的css属性(整理不易)

    1.-webkit-line-clamp 可以把 块容器 中的内容限制为指定的行数.并且在超过行数后,在最后一行显示"..." 这是正常的展示 display: -webkit-b ...

  4. css不换行属性_那些不常见,但却非常实用的 css 属性

    作者:寒水寺一禅 人类身份验证 - SegmentFault​segmentfault.com 1.-webkit-line-clamp 可以把 块容器 中的内容限制为指定的行数.并且在超过行数后,在 ...

  5. td外边加div为啥不隐藏_那些不常见,但却非常实用的 css 属性

    (给前端大全加星标,提升前端技能) 作者:寒水寺一禅 https://segmentfault.com/a/1190000022851543 1.-webkit-line-clamp 可以把 块容器 ...

  6. css超过两行显示为..._使用这些不太常用的CSS属性,布局效率上又提高了一个层次...

    有很多CSS属性,有些人不了解,或者他们了解它们,但是忘记在需要时使用它们.其实,有时候我们用 JavaScript 来实某些交互,CSS 一个属性就能搞定了,这可以大大节约我们编码的时间. 作为前端 ...

  7. css元素与浏览器边框,别具光芒CSS属性、浏览器兼容与网页布局

    别具光芒CSS属性.浏览器兼容与网页布局 语音 编辑 锁定 讨论 上传视频 上传视频 <别具光芒CSS属性.浏览器兼容与网页布局>是2008年人民邮电出版社出版的图书.该书结合大量范例与实 ...

  8. 前端笔记(7)css属性书写顺序,布局流程,chrome调试工具

    css样式表/层叠样式表(5) css属性书写顺序 布局流程 chrome调试工具 css属性书写顺序 布局定位属性 display / position / float / clear / visi ...

  9. 常见的CSS属性和值CascadingStyleSheets

    字体 文本 背景 位置 边框 列表 其他 CSS中修饰字体的属性 属    性 描    述 属  性  值 font-family 字体族科 任意字体族科名称都可以使用例如Times.serif等, ...

  10. 050_学习的CSS属性

    1. 尺寸属性(Dimension) height: 设置元素高度. max-height: 设置元素的最大高度. max-width: 设置元素的最大宽度. min-height: 设置元素的最小高 ...

最新文章

  1. [CPP]--Unicode 字符编码
  2. 在mysql中REGEXP_在MySQL中使用RegExp中的列
  3. socket套接字TCP API
  4. 神药克星!读完本文,你的父母将彻底摆脱权健类神药的骗局
  5. JAVA格式化输出浮点数:空格,位数
  6. 为了永不停机的计算服务 | 凌云时刻
  7. kafka log4j日志级别修改,一天生成一个日志文件
  8. TFS2010 - 强制撤销签出
  9. 人工智能学习-传教士-15数码-拟合-逻辑推理
  10. 选修课程期末作业 : 大象基金交易信息系统分析与设计报告
  11. 路由器默认IP地址和猫IP冲突的解决方法
  12. 我对移动端架构的思考
  13. Excel中将一列数字格式,一次性转换为文本格式
  14. ElasticSearch 2 (25) - 语言处理系列之同义词
  15. DBoW、VLAD、NetVLAD、NeXtVLAD资料整理
  16. MFC radio button 设置默认选中
  17. 因BIOS设定导致GPU无法使用问题
  18. linux下流量监控统计软件,Linux服务器网卡流量统计监控软件vnStat
  19. JAVA——实现求出1到100之间的既是3的倍数又是5倍数的数字之和.
  20. Linux协议栈配置文件,Linux TCP/IP 协议栈调优 | 鸟窝

热门文章

  1. 网络技能大赛-2018年国赛真题[2018年全国职业技能大赛高职组计算机网络应用赛项真题-I卷]路由交换部分答案详解
  2. paymob QB冲值接口
  3. 0428-Scrum团队成立
  4. android 关机消息广播,Android开机、关机播音监听
  5. day1 704.二分查找 27.移除元素
  6. 用树莓派(等)为 USB Midi 键盘增添连接方式
  7. 开源巨献:Google最热门的40款开源项目
  8. c#往结构体里面读数据_C# 结构体和ListT类型数据转Json数据保存和读取
  9. 计算机win10分区软件,如何利用Win10系统DiskPart工具进行GPT硬盘分区
  10. 微信开发_Exception_02_errcode:40164,errmsg:invalid ip 61.172.68.219, not in whitelist hint