视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CSS自定义设置元素闪烁光标颜色
2020-11-27 19:46:33 责编:小采
文档


解决方案

  • 使用 ::first-line 伪元素

  • 使用 text-shadowtext-fill-color

  • 使用 caret-color

  • ::fist-line 修改元素

    原理: 一般来说,设置input框的 color 属性会修改文本内容的颜色,同时顺带改变光标的颜色。而::first-line也可以设置首行文本内容的颜色, 利用选择器的权重比,::first-line覆盖了前者的color,最终得到了想要的结果。

    input.form-control {
     color: #05d380; /* 光标颜色 */
    }
    input.form-control::first-line {
     color: #333; /* 文本颜色 */
    }

    缺陷: 只适用于input框, 同时微信 webview 不支持。需要写两个选择器。

    text-shadow 和 text-fill-color

    原理: 先利用color设置文本和光标的颜色, 然后利用 text-shadow 设置文本阴影覆盖文本颜色, 最后使用text-fill-color 将文本颜色置为透明。

    .form-control {
     color: #05d380; /* 光标颜色 */
     text-shadow: 0 0 0 #333; /* 文本颜色 */
     -webkit-text-fill-color: transparent;
    }

    缺陷: text-fill-color 属性不太支持 firefox, 目前尽量使用 -webkit- 前缀。

    caret-color

    原理: 这是CSS3最新的属性,目的就是为了解决光标颜色的问题。

    .form-control {
     color: #333; /* 文本颜色 */
     caret-color: #05d380; /* 光标颜色 */
    }

    缺陷: 低版本IE浏览器不支持

    兼容性考虑

    为了兼容多端设备显示情况,我们必须要将一些情况考虑进来, 使用@support 条件判断来检测是否可用。因为我的环境在于移动端展示,所以只要要求进行兼容移动端,结合第二种和第三种解决方案,可以大面积覆盖设备。

    .form-control {
     color: #05d380; /* 光标颜色 */
     text-shadow: 0 0 0 #333; /* 文本颜色 */
     -webkit-text-fill-color: transparent;
    }
    @supports (caret-color: #05d380) {
     .form-control {
     color: #333; /* 文本颜色 */
     caret-color: #05d380; /* 光标颜色 */
     }
    }

    小结

    最近的需求里,移动端开发越来越多,而设备兼容性一直都是头疼的事情,如何更好的方式调试,写出兼容性更强的代码。需要的就是不断总结,减少错误重复发生。

    最后能给大家带来帮助就好,希望大家多点赞,收藏 !!

    相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

    推荐阅读:

    怎样处理MySQL数据库拒绝访问

    linux后台运行node服务指令步骤方法

    下载本文
    显示全文
    专题