蓝戒博客

  • 首页
  • 研发说
  • 架构论
  • 效能录
  • AI谈
  • 随笔集
智构苍穹
融合 AI、架构与工程实践,沉淀方法论,构建可持续的技术价值。
  1. 首页
  2. 研发说
  3. 正文

HTML5中input的placeholder颜色设置及兼容性解决方案

2015年6月6日 8091点热度 0人点赞 0条评论

1、placeholder是什么?

placeholder是html5新增的一个属性,当input或者textarea设置了该属性后,该值的内容将作为灰字提示显示在文本框中,当文本框获得焦点(或输入内容)时,提示文字消失。

例如下文本框文字效果

placeholder2

2、placeholder的浏览器兼容性和在不同浏览器下的表现

由于placeholder是个新增属性,目前只有少数浏览器支持,如何让更多的浏览器支持它呢?

目前最新的firefox、chrome、safari以及ie10都支持,ie6到ie9都不支持

默认情况下,placeholder的文字是灰色,输入的文字是黑色。而我们拿到的设计稿上的色值往往并不与默认情况下完全一致。那么,如何修改placeholder的色值呢?

如果直接写input{color:#ddd;},可以看到,ie10和ff下,placeholder文字和输入文字都变成了相同颜色#ddd,

默认颜色调整css解决方案:

/* all */
::-webkit-input-placeholder { color:#f00; }
input:-moz-placeholder { color:#f00; }

到这里还不能完全解决placeholder的多浏览器支持,还需要配合使用js处理
placeholder的浏览器兼容js解决方案:

var JPlaceHolder = {
//检测
_check : function(){
return 'placeholder' in document.createElement('input');
},
//初始化
init : function(){
if(!this._check()){
this.fix();
}
},
//修复
fix : function(){
jQuery(':input[placeholder]').each(function(index, element) {
var self = $(this), txt = self.attr('placeholder');
self.wrap($('<div></div>').css({position:'relative', zoom:'1', border:'none', background:'none', padding:'none', margin:'none'}));
var pos = self.position(), h = self.outerHeight(true), paddingleft = self.css('padding-left');
var holder = $('<span></span>').text(txt).css({position:'absolute', left:pos.left, top:pos.top, height:h, lienHeight:h, paddingLeft:paddingleft, color:'#aaa'}).appendTo(self.parent());
self.focusin(function(e) {
holder.hide();
}).focusout(function(e) {
if(!self.val()){
holder.show();
}
});
holder.click(function(e) {
holder.hide();
self.focus();
});
});
}
};
//执行
jQuery(function(){
JPlaceHolder.init();
});

页面中placeholder使用示例:

<dl>
<dt><span class="red">*</span>用户名:</dt>
<dd><input id="username" name="username" type="text" data-msg-required="用户名不能为空" maxlength="20" placeholder="请输入用户名(必填)" class="inputBg inputone4"></dd>
</dl>

标签: html5 网页兼容
最后更新:2025年9月13日

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

最新 热点 随机
最新 热点 随机
连加13小时班不喊累、自带300个分身?Kimi Work 开启“氛围办公”,到底谁在破防? Hermes 客户端来了:这不是聊天框,这是一个会长记性的 AI 打工人 薅秃Anthropic羊毛?Claude Code企业级免费平替来了,生产线直接省下百万Token费! 别再用VS Code插件了!GitHub狂割36K星的CodeWhale,才是终端党和DeepSeek的终极狂欢! 本地电脑能跑多大AI模型?2026本地大模型配置选型实践参考 Claude Opus 4.8 来了:这次 Anthropic 不卷嘴炮,开始卷“靠谱”了
字节把大模型装上了“手”!纯视觉接管键盘鼠标的 AI 终于来了别再为大模型 API 抓狂了!这款开源“全能型”代理神器 CCX,一站式搞定接口调度与可视化管理!程序员省钱神技:用 9Router 薅尽全网 AI 羊毛,Token 暴省 40%你的AI还在陪聊?2026超硬核多智能体(Agent)防坑与提效指南!18万星标霸榜!Anthropic黑客松冠军神作,彻底榨干Claude Code潜力的最强外脑ECC开源了!别再当Token冤大头了!3K行代码打造自我进化的极简Agent,真香!
表单验证控件jquery.validate.js使用说明及中文API 震惊开发圈!让AI告别“鱼的记忆”,这款开源神器AgentMemory彻底杀疯了! Hybrid 开发全攻略:从原理到实战 360安全浏览器内核渲染指定私有方案 程序员省钱神技:用 9Router 薅尽全网 AI 羊毛,Token 暴省 40% jquery对象与js对象的相互转换方法
最近评论
渔夫 发布于 7 个月前(11月05日) 学到了,感谢博主分享
沙拉小王子 发布于 9 年前(11月30日) 适合vue入门者学习,赞一个
沙拉小王子 发布于 9 年前(11月30日) 适合vue入门者学习,赞一个
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8

COPYRIGHT © 2025 蓝戒博客_智构苍穹-专注于大前端领域技术生态. ALL RIGHTS RESERVED.

京ICP备12026697号-2