蓝戒博客

  • 首页
  • 研发说
  • 架构论
  • 效能录
  • AI谈
  • 随笔集
智构苍穹
AI为翼,架构为骨,文化为魂,实践探新境,价值筑长青。
  1. 首页
  2. 研发说
  3. 正文

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

2015年6月6日 7692点热度 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 中对话未来。

最新 热点 随机
最新 热点 随机
Vue 3.6「无虚拟 DOM」时代开启:深入解读 Vapor Mode 的革命性变革 2025 最推荐的 uni-app 技术栈:unibest + uView Pro 高效开发全攻略 前端开源工具 PinMe:极简部署体验分享 架构评估方法 ATAM:系统性洞察架构质量的利器 软件系统架构评估与质量属性分析 AI 大模型开发:如何实现数据向量化
Webpack 实战:Code Splitting 优化页面加载性能前端开源工具 PinMe:极简部署体验分享AI 产品前端技术全解析:模型可视化与流式响应实践前端内存泄露防范及编码攻略DApp开发前端技术全解析:技术选型、功能实现与开发步骤Web Workers:释放浏览器多线程的魔力
echart图表自适应宽度失效问题探究 Mac下Flutter进行真机调试 马云在世界互联网大会的讲话摘录 display:inline|block|inline-block的区别及特点 daterangepicker日期范围选择插件使用方法 架构的阶梯:从层次式设计到实践智慧
最近评论
渔夫 发布于 6 天前(11月05日) 学到了,感谢博主分享
沙拉小王子 发布于 8 年前(11月30日) 适合vue入门者学习,赞一个
沙拉小王子 发布于 8 年前(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