placeholder兼容代码

关于HTML5占位符placeholder的文章,之前发表过几篇:

  1. placeholder占位符兼容性及拓展
  2. 修改placeholder(css3表单填充)颜色
  3. javascript兼容placeholder代码

我们了解到placeholder不支持IE10以下的浏览器,关于兼容性问题你可以到canIUse上了解。

目前的写法是这样子的:

修改所有的input placeholder

::-webkit-input-placeholder {
  color: red;
}
:-moz-placeholder {/* Firefox 18- */
  color: red;
}
::-moz-placeholder{/* Firefox 19+ */
 color: red;
}
:-ms-input-placeholder {
  color: red;
}

修改某个标签

#myInput::-webkit-input-placeholder {
  color: red;
}
#myInput:-moz-placeholder {
  color: red;
}
#myInput:-ms-input-placeholder {
  color: red;
}

但是placeholder并不支持padding和height值,在Android手机原生浏览器里面如果设置了line-height的值,比如设为line-height:32px

zOkOt ZEjdo

在Android自带浏览器、百度手机浏览器、小米自带浏览器上出现图一的问题(占位符靠顶部)。uc/qq正常(图二)。谷歌找不到,于是我到stackoverflow找到了这个答案:HTML5 placeholder css padding,果然还是这个网站上才能找到东西。

里面说到把line-height设置为line-height:normal(或者不设置行高问题,只设置padding即可).立马就行了。不过国内倒是没人提到这点,很奇怪,难道是没有人去注意还是不知道怎么解决。

关于HTML5表单的支持程度请看下面链接:

HTML5 inputs and attribute support page

演示(扫描下面二维码)在百度手机浏览器打开:

input-line-height

最近做的一个活动页面,欢迎扫码围观

xinlian-app


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流