HTML

  1. <input type="text" placeholder="Value" />
  2.  

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

  1. ::-webkit-input-placeholder

Mozilla Firefox 4-18使用伪类

  1. :-moz-placeholder

Mozilla Firefox 19+ 使用伪元素

  1. ::-moz-placeholder

IE10使用伪类

  1. :-ms-input-placeholder

IE9和Opera12以下版本的CSS选择器均不支持占位文本。需要注意的是伪元素在Shadow DOM里会起到元素的真实作用。
CSS选择器
因为每个浏览器的CSS选择器都有所差异,所以需要针对每个浏览器做单独的设定。

  1. ::-webkit-input-placeholder { /* WebKit browsers */
  2. color: #999;
  3. }
  4. :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  5. color: #999;
  6. }
  7. ::-moz-placeholder { /* Mozilla Firefox 19+ */
  8. color: #999;
  9. }
  10. :-ms-input-placeholder { /* Internet Explorer 10+ */
  11. color: #999;
  12. }

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

  1. input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  2. color: #636363;
  3. }
  4. input:-moz-placeholder, textarea:-moz-placeholder {
  5. color: #636363;
  6. }

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

  1. *::-webkit-input-placeholder {
  2. color: red;
  3. }
  4.  
  5. *:-moz-placeholder {
  6. color: red;
  7. }
  8.  
  9. *:-ms-input-placeholder {
  10. /* IE10+ */
  11. color: red;
  12. }

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

  1. ::-webkit-input-placeholder {
  2. color: red; text-overflow: ellipsis;
  3. }
  4. :-moz-placeholder {
  5. color: #acacac !important; text-overflow: ellipsis;
  6. }
  7. ::-moz-placeholder {
  8. color: #acacac !important; text-overflow: ellipsis;
  9. } /* for the future */
  10. :-ms-input-placeholder {
  11. color: #acacac !important; text-overflow: ellipsis;
  12. }

还有一种好办法:

  1. input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  2. color: #666;
  3. }
  4. input:-moz-placeholder, textarea:-moz-placeholder {
  5. color: #666;
  6. }
  7. input::-moz-placeholder, textarea::-moz-placeholder {
  8. color: #666;
  9. }
  10. input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  11. color: #666;
  12. }

最后一种是从网上找的:

  1. $('[placeholder]').focus(function() {
  2. var input = $(this);
  3. if (input.val() == input.attr('placeholder')) {
  4. input.val('');
  5. input.removeClass('placeholder');
  6. }
  7. }).blur(function() {
  8. var input = $(this);
  9. if (input.val() == '' || input.val() == input.attr('placeholder')) {
  10. input.addClass('placeholder');
  11. input.val(input.attr('placeholder'));
  12. }
  13. }).blur();
  14. $('[placeholder]').parents('form').submit(function() {
  15. $(this).find('[placeholder]').each(function() {
  16. var input = $(this);
  17. if (input.val() == input.attr('placeholder')) {
  18. input.val('');
  19. }
  20. })
  21. });

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

  1. form .placeholder {
  2. color: #222;
  3. font-size: 25px;
  4. /* etc */
  5. }

user1729061:不用CSS和占位文本,同样能得到相同效果。

  1. <input type="text" value="placeholder text" onfocus="this.style.color='#000';
  2. this.value='';" style="color: #f00;"/>

使用CSS修改HTML5 input placeholder颜色的更多相关文章

  1. 用css修改HTML5 input placeholder颜色

    使用CSS修改HTML5 input placeholder颜色 本文选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和 ...

  2. 使用CSS修改HTML5 input placeholder颜色( 转载 )

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

  3. 如何修改HTML5 input placeholder 颜色

    有三种实现方式:伪元素(pseudo-elements).伪类( pseudo-classes)和Notihing. WebKit和Blink(Safari,Google Chrome, Opera1 ...

  4. 修改HTML5 input placeholder 颜色及修改失效的解决办法

    input::input-placeholder{color: #bdbdbd ;} /* 有些资料显示需要写,有些显示不需要,但是在编辑器webstorm中该属性不被识别 */ ::-webkit- ...

  5. HTML5 input placeholder 颜色修改示例

    Chrome支持input=[type=text]占位文本属性,但下列CSS样式却不起作用: CSS 复制代码 代码如下: input[placeholder], [placeholder], *[p ...

  6. HTML5 input placeholder 颜色 改动

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

  7. HTML5 input placeholder 颜色修改

    在开发中遇到的一个小问题,记录下来./*placehodel*/ input:-ms-input-placeholder{color:#a9a9a9;}/* Internet Explorer 10+ ...

  8. 修改HTML5 input placeholder默认颜色

    WebKit和Blink(Safari,Google Chrome, Opera15+)使用伪元素 ::-webkit-input-placeholder Mozilla Firefox 4-18使用 ...

  9. Html5 input placeholder 属性字体颜色修改。

    这篇文章主要介绍了有关HTML5 input placeholder 颜色修改方面的知识,需要的朋友可以参考下     Chrome支持input=[type=text]占位文本属性,但下列CSS样式 ...

随机推荐

  1. 让Linux下的打印机hp1020、hp p1008自动加载固件

    前言: 前段时间,处理公司打印机服务器Linux化工作.遇到问题如下:hp1020.hp1008断电后不能继续打印.而其他打印机在连接Linux打印机的情况下,断电后也能正常打印. 鉴于此情况,我搜寻 ...

  2. poj1094

    Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 29539   Accepted: 10 ...

  3. 【Linux】为啥查某个进程的线程,查出来的所有线程的pid不一样啊

    楼上说的linux线程和进程是一样的,这个说法是错误的. 看了楼主的问题,感觉楼主是被PID给弄混了,线程进程都会有自己的ID,这个ID就叫做PID,PID是不特指进程ID,线程ID也可以叫做PID. ...

  4. Dom lesson1

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 【转】SQL删除重复记录,只保留其中一条

    SQL:删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peop ...

  6. 浅谈mysql集群

    一.什么是MySQL集群 MySQL集群是一个无共享的(shared-nothing).分布式节点架构的存储方案,其目的是提供容错性和高性能. 数据更新使用读已提交隔离级别(read-committe ...

  7. php接口和多态的概念以及简单应用

    接口是面向对象中的一个重要特性,也是面向对象开发不可缺少的一个概念,下面简单说一下接口的概念,先看一段简单的代码: interface ICanEat { public function eat($f ...

  8. Emacs 从入门到精通

    1 前言 不想再说废话了,既然你会阅读这篇文档,说明你多少对Emacs有 些兴趣,或者已 经非常熟悉Emacs的基础操作了,并且希望有所提高.因此我不需要再把"编辑器 之神,还是神的编辑器& ...

  9. CSS鼠标样式整理

    鼠标样式的标签: cursor:*;  //该属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状: 鼠标样式: 值 描述 url 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一 ...

  10. 说说GET和POST方法的区别

    完全来自博客园的一篇文章,GET和POST有什么区别?说的非常有道理,学习了. 错误理解 反驳 GET使用URL或Cookie传参.而POST将数据放在BODY中. GET和POST与数据如何传递没有 ...