Skip to content
Menu
Yuuk的博客
  • 首页
  • 前端技术
    • JavaScript
    • HTML & CSS
  • SEO
  • 设计
    • 素材分享
    • 设计教程
  • 随笔
Yuuk的博客

Safari 下 input disabled 颜色变浅的解决办法

Posted on 2020年8月13日2020年8月13日 by yuuk

首先说下原因,这是因为各个浏览器对于禁用状态的表单元素的默认样式没有一个统一的标准,需要开发者去重写。

可以使用以下代码覆盖:

input:disabled{
    opacity: 1;
    -webkit-text-fill-color: #000;
}

以上代码虽然可以解决禁用状态的input的颜色,但同时也会导致placeholder的颜色被覆盖。

这个时候可以使用 :placeholder-shown 选择器,光名称就能看出该选择器的用途。没错,就是可以区分输入框内有无内容的状态。所以我们只需在输入框有内容的时候修改input的颜色即可。

input:not(:placeholder-shown) {
  opacity: 1; 
  -webkit-text-fill-color: #000;
}

完整例子前往 DEMO

打赏赞(6)分享

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

搜索

近期文章

  • 宝塔面板中使用docker部署nodejs应用
  • 如何将docker镜像上传到阿里云
  • React Native 报错 No bundle URL present 解决方法
  • axios 给每一个请求添加耗时统计
  • css filter属性导致fixed失效

标签

addEventListener ajax ajax跨域 chatAt css居中 DNS缓存 docker gulp ie7 json jsonp margin memcache mysql nodejs ps技巧 typescript void vpn vuejs wampserver webpack win10 XMLHttpRequest z-index 事件冒泡 事件绑定 内容发布时间 图片加载 大写 字符串 封装ajax 广告屏蔽 批量修改图层名称 水平垂直居中 注册码 特殊符号 百度 空元素 站长平台 网页快照 负边界 递减 随机数 首字母

友情链接

  • 蔡甸新闻网
©2025 Yuuk的博客 | 鄂ICP备13014750号-9