HTML5 input placeholder 颜色修改示例


Posted in HTML / CSS onMay 30, 2014

Chrome支持input=[type=text]占位文本属性,但下列CSS样式却不起作用:

CSS

复制代码
代码如下:

input[placeholder], [placeholder], *[placeholder] {
color:red !important;
}

HTML input语句
复制代码
代码如下:

<input type="text" placeholder="Value" />

运行结果值还是灰色,Color:red没有作用。有什么方法可以修改占位文本的颜色吗?我在浏览器里安装了jQuery占位文本插件,但仍然无用。(!important只有IE7和firefox能识别)

回答:

toscho:有三种实现方式:伪元素(pseudo-elements)、伪类( pseudo-classes)和Notihing。
WebKit和Blink(Safari,Google Chrome, Opera15+)使用伪元素

复制代码
代码如下:

::-webkit-input-placeholder

Mozilla Firefox 4-18使用伪类
复制代码
代码如下:

:-moz-placeholder

Mozilla Firefox 19+ 使用伪元素
复制代码
代码如下:

::-moz-placeholder

IE10使用伪类
复制代码
代码如下:

:-ms-input-placeholder

IE9和Opera12以下版本的CSS选择器均不支持占位文本。需要注意的是伪元素在Shadow DOM里会起到元素的真实作用。

CSS选择器

因为每个浏览器的CSS选择器都有所差异,所以需要针对每个浏览器做单独的设定。

复制代码
代码如下:

::-webkit-input-placeholder { /* WebKit browsers */
color: #999;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #999;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #999;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
color: #999;
}

Matt:textareas(文本框可拉伸)风格样式的代码,如下:
复制代码
代码如下:

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
color: #636363;
}
input:-moz-placeholder, textarea:-moz-placeholder {
color: #636363;
}

brillout.com:input和Textarea的字体颜色均为红色。所有样式都要针对不同的选择器而定,不要打包整体处理,因为其中一个出问题,其他的都会失效。
复制代码
代码如下:

*::-webkit-input-placeholder {
color: red;
}
*:-moz-placeholder {
color: red;
}
*:-ms-input-placeholder {
/* IE10+ */
color: red;
}

James Donnelly:在Firefox和IE里,正常input文本颜色覆盖占位符颜色的方法:
复制代码
代码如下:

::-webkit-input-placeholder {
color: red; text-overflow: ellipsis;
}
:-moz-placeholder {
color: #acacac !important; text-overflow: ellipsis;
}
::-moz-placeholder {
color: #acacac !important; text-overflow: ellipsis;
} /* for the future */
:-ms-input-placeholder {
color: #acacac !important; text-overflow: ellipsis;
}

还有一种好办法:
复制代码
代码如下:

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
color: #666;
}
input:-moz-placeholder, textarea:-moz-placeholder {
color: #666;
}
input::-moz-placeholder, textarea::-moz-placeholder {
color: #666;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
color: #666;
}

最后一种是从网上找的:
复制代码
代码如下:

$('[placeholder]').focus(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
$('[placeholder]').parents('form').submit(function() {
$(this).find('[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});

这个代码调用的规则是,先加载Javascript再用CSS修改占位符属性。
复制代码
代码如下:

form .placeholder {
color: #222;
font-size: 25px;
/* etc */
}

user1729061:不用CSS和占位文本,同样能得到相同效果。
复制代码
代码如下:

input type="text" value="placeholder text" onfocus="this.style.color='#000';
this.value='';" style="color: #f00;"/>
HTML / CSS 相关文章推荐
前端制作动画的几种方式(css3,js)
Dec 12 HTML / CSS
CSS3 倾斜的网页图片库实例教程
Nov 14 HTML / CSS
CSS3中利用animation属性创建雪花飘落特效
May 14 HTML / CSS
详解CSS3的perspective属性设置3D变换距离的方法
May 23 HTML / CSS
CSS3 真的会替代 SCSS 吗
Mar 09 HTML / CSS
如何在网站上添加谷歌定位信息
Apr 16 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
Jun 06 HTML / CSS
html5绘制时钟动画
Dec 15 HTML / CSS
HTML5有哪些新特征
Dec 01 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
Sep 30 HTML / CSS
recorder.js 基于Html5录音功能的实现
May 26 HTML / CSS
使用canvas对video视频某一刻截图功能
Sep 25 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
May 29 #HTML / CSS
HTML5 canvas绘制的玫瑰花效果
May 29 #HTML / CSS
html5设计原理(推荐收藏)
May 17 #HTML / CSS
html5中JavaScript removeChild 删除所有节点
May 16 #HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
May 15 #HTML / CSS
分享全球十款超强HTML5开发工具
May 14 #HTML / CSS
HTML5实现晶莹剔透的雨滴特效
May 14 #HTML / CSS
You might like
详解php中反射的应用
2016/03/15 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
javascript中的location用法简单介绍
2007/03/07 Javascript
jQuery渐变发光导航菜单的实例代码
2013/03/27 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
Javascript中replace()小结
2015/09/30 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python 获取list特定元素下标的实例讲解
2018/04/09 Python
基于Python List的赋值方法
2018/06/23 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
好的自荐信包括什么内容
2013/11/07 职场文书
网站开发实习生的自我评价
2013/12/11 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
商场消防演习方案
2014/02/12 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
公休请假条
2014/04/11 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
学习礼仪心得体会
2014/09/01 职场文书
教师查摆问题及整改措施
2014/10/11 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
推销搭讪开场白
2015/05/28 职场文书
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers