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强大的动画效果animate使用说明及浏览器兼容介绍
Jan 09 HTML / CSS
基于css3实现漂亮便签样式
Mar 18 HTML / CSS
谈谈对css属性box-sizing的了解
Jan 04 HTML / CSS
你不知道的5个HTML5新功能
Jun 28 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
Mar 14 HTML / CSS
浅谈three.js中的needsUpdate的应用
Nov 12 HTML / CSS
html5模拟平抛运动(模拟小球平抛运动过程)
Jul 25 HTML / CSS
基于HTML5的齿轮动画特效
Feb 29 HTML / CSS
iframe在移动端的缩放的示例代码
Oct 12 HTML / CSS
CSS3 制作的彩虹按钮样式
Apr 11 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 HTML / CSS
详解flex:1什么意思
Jul 23 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获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
php中AES加密解密的例子小结
2014/02/18 PHP
PHP代码优化的53个细节
2014/03/03 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
跟老齐学Python之集合的关系
2014/09/24 Python
详解Python编程中包的概念与管理
2015/10/16 Python
python中PIL安装简单教程
2016/04/21 Python
python八皇后问题的解决方法
2018/09/27 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
国贸专业个人求职信范文
2014/01/08 职场文书
科技工作者先进事迹
2014/08/16 职场文书
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫